Class 添加新类后选择元素无效

Class 添加新类后选择元素无效,class,jquery-selectors,Class,Jquery Selectors,我有一个链接,只会被点击一次。因此,我将向链接添加一个类,以验证它是否已被单击,并防止用户再次单击它 <a href="#" id="plus">my link</a> $("a#plus[class!='clicked']").on('click',function(e){ e.preventDefault(); alert('clicked'); $(this).addClass('clicked'); }); 但是结果是执行第一个代码块,

我有一个链接,只会被点击一次。因此,我将向链接添加一个类,以验证它是否已被单击,并防止用户再次单击它

<a href="#" id="plus">my link</a>

$("a#plus[class!='clicked']").on('click',function(e){
    e.preventDefault();
    alert('clicked');
    $(this).addClass('clicked');
});

但是结果是执行第一个代码块,尽管类“clicked”被添加到这里的JSFIDLE

您的处理程序被附加到调用
on()
时匹配的元素。以后添加/删除类不会移动或替换处理程序。您需要使用事件委派来捕获基于当前匹配元素的事件

$(document.body).on('click','a#plus[class!='clicked']),函数(e){
e、 预防默认值();
$(“span.result”).text(“单击链接”);
$(this.addClass('clicked');
});
$(document.body).on('click'),“a#plus.clicked”,函数(e){
e、 预防默认值();
$(“span.result”).text(“”);
});

非常感谢您的帮助。这是正在工作的jsfiddle
$("a#plus.clicked").on('click',function(e){
    e.preventDefault();
    alert('clicked before');
});