这个JavaScript代码是否正确

is this javascript code correct?

本文关键字:是否 代码 JavaScript 这个      更新时间:2023-09-26

我试图在单击具有特定类的元素时删除一个类。我做了这个JavaScript,它确实有效。但是这样做的语法是否正确,这可以更有效吗?

// Clear notifications alerts 
$(document).on('click', '.js-clear-notifications', function() {
  $('.AlertNotifications').remove();
});
// clear inbox alerts
$(document).on('click', '.js-clear-inbox', function() {
  $('.AlertInbox').remove();
});  

你的javascript代码是正确的,前提是你也加载jQuery。

此外,您还拥有最有效的解决方案,即使用单个事件处理程序来处理源自多个元素的事件。

另一种选择是:

$('.js-clear-notifications').on('click', function() {
  $('.AlertNotifications').remove();
});

它附加的事件处理程序与 jQuery 对象中的元素一样多。效率略低,尽管除非在极端情况下,否则您可能永远不会注意到。

对我来说

,更合适的方法是这样的:

...
$('.js-clear-inbox').on('click', function() {
  $('.AlertInbox').remove();
});  
...

我还会建议有更具体的选择器,即

$('div .js-clear-inbox') 

我希望这有所帮助。

我正在根据评论中的反馈对其进行编辑。

如果你想要的是使用 AlertNotifications 类删除所有元素,这就是你的代码所做的,那么你所拥有的是正确的。

如果你想要的是只删除类,这是帖子的文本所说的,你想要 removeClass,而不是删除:

    $('.js-clear-notifications').on('click',function() {
        $(this).removeClass('AlertNotificitions');
    }

如果您已经定义了变量,那么从 DOM 中删除它的正确方法是:

var elem = document.getElementById("myDiv");
elem.remove();

但是,如果您刚刚开始,.remove 将是您的最佳意见。