我在点击具有特定类的元素时尝试删除一个类。我做了这个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();
});
答案 0 :(得分:0)
您的javascript代码是正确的,前提是您也加载了jQuery。
此外,您拥有最有效的解决方案,您可以使用单个事件处理程序来处理源自多个元素的事件。
替代方案是:
$('.js-clear-notifications').on('click', function() {
$('.AlertNotifications').remove();
});
它附加了与jQuery对象中的元素一样多的事件处理程序。效率稍差,但在极端情况下你可能永远不会注意到。
答案 1 :(得分:-1)
对我来说,更合适的方法就是这样:
...
$('.js-clear-inbox').on('click', function() {
$('.AlertInbox').remove();
});
...
我还建议有更多特定的选择器,即
$('div .js-clear-inbox')
我希望这会有所帮助。
答案 2 :(得分:-2)
我正在编辑此内容以回应评论中的反馈。
如果你想要的是删除所有使用AlertNotifications类的元素,这就是你的代码所做的,那么你拥有的是正确的。
如果您想要的只是删除该类,这就是帖子所说的内容,您需要removeClass,而不是删除:
$('.js-clear-notifications').on('click',function() {
$(this).removeClass('AlertNotificitions');
}
答案 3 :(得分:-3)
新方法,如果您已经定义了变量,从DOM中删除它的正确方法是:
var elem = document.getElementById("myDiv");
elem.remove();
但如果你刚刚开始,那么.remove将是你最好的意见。