我的选择器有问题。
其实我正在写一个小部件。
必须有 2 个点击事件才能更改一个类。问题是,如果我点击第一个事件,类将会改变。但是在第二次点击时,它总是去同一个点击事件,即使它有错误的类(选择器)
$(".ui-multiselect-costum-button",$(this)).click(function(){
console.log($(this).parent().html());
console.log($(this).attr("class"));
$(this).removeClass("ui-multiselect-costum-button").addClass("ui-multiselect-costum-button-active");
console.log($(this).attr("class"));
console.log($(this).parent().html());
});
$(".ui-multiselect-costum-button-active",$(this)).click(function(){
console.log($(this).attr("class"));
$(this).removeClass("ui-multiselect-costum-button-active").addClass("ui-multiselect-costum-button");
console.log($(this).attr("class"));
});
控制台显示:
<input type="checkbox" value="2" style="display: none;"><span class="ui-multiselect-costum-button"></span>
ui-multiselect-costum-button
ui-multiselect-costum-button-active
<input type="checkbox" value="2" style="display: none;"><span class="ui-multiselect-costum-button-active"></span>
<input type="checkbox" value="2" style="display: none;"><span class="ui-multiselect-costum-button-active"></span>
ui-multiselect-costum-button-active
ui-multiselect-costum-button-active
<input type="checkbox" value="2" style="display: none;"><span class="ui-multiselect-costum-button-active"></span>
那么为什么点击事件总是使用 ui-multiselect-costum-button 而不是 ui-multiselect-costum-button-active 呢?