我不知道为什么这不起作用.. clickId
被赋予值access-toggle-all
,当我点击带有该类名的复选框时,所以它没有意义(对我来说)至少)..
$(document).ready(function() {
$('input:checkbox').click(function (e) {
var clickId = $(this).attr('class');
if (clickId == 'access-toggle-all') {
alert("if");
$('.access-toggle,.access-group-toggle').prop('checked', this.checked);
} else {
alert("else");
}
alert(clickId);
});
});
答案 0 :(得分:0)
我不知道你的问题是什么,但不是你使用单引号或双引号,除非它们是不一致的开头和结尾引号。
我怀疑这与点击的元素有关,而不仅仅是类access-toggle-all
所以这个比较失败了:
if (clickId == 'access-toggle-all') {
使用jquery执行此逻辑的正确方法是使用.is()
或hasClass()
:
$('input:checkbox').click(function (e) {
if ($(this).is('.access-toggle-all')) {
alert("if");
$('.access-toggle,.access-group-toggle').prop('checked', this.checked);
}
});
或
$('input:checkbox').click(function (e) {
if ($(this).hasClass('access-toggle-all')) {
alert("if");
$('.access-toggle,.access-group-toggle').prop('checked', this.checked);
}
});