jQuery: 选中/取消选中具有特定 class 的所有兄弟姐妹
jQuery: Check / uncheck all siblings with certain class
我是 jQuery 的新手,希望这里有人可以帮助我解决这个问题。
我正在尝试设置一个"All"复选框来选中/取消选中它的所有同级复选框(即那些在同一个div/父级下的复选框) - 但前提是他们没有特定的 class ("other"
)。
我的方法是尽量减少 运行 的时间,并以一种也可以应用于其他 div 中的类似结构的方式编写它。
我的代码在没有 :not()
选择器的情况下也能工作,但是当我包含它时我无法让它工作。
另外,我不确定我的方法是否是这里最好/最快的方法。
我的jQuery:
$('.checkAll').click(function(){
if($(this).is(':checked')){
$(this).siblings(":not($('.other'))").prop('checked', true);
}else{
$(this).siblings(":not($('.other'))").prop('checked', false);
}
});
非常感谢您的帮助,
麦克
您在 :not
内不需要 $
。您可以使用 this.checked 优化代码并避免使用 if 语句。
$('.checkAll').click(function(){
$(this).siblings(":not('.other')").prop('checked', this.checked);
});
:not
.
中不需要 jQuery Selector
$('.checkAll').on('click', function() {
$(this).siblings(":not('.other')").prop('checked', $(this).is(':checked'));
});
$(this).is(':checked')
returns true/false
您已使用 if
检查并将其分配给 checked
.
删除jquery非选择器中的对象,你可以使用字符串
$(this).siblings(":not('.other')").prop('checked', true);
我是 jQuery 的新手,希望这里有人可以帮助我解决这个问题。
我正在尝试设置一个"All"复选框来选中/取消选中它的所有同级复选框(即那些在同一个div/父级下的复选框) - 但前提是他们没有特定的 class ("other"
)。
我的方法是尽量减少 运行 的时间,并以一种也可以应用于其他 div 中的类似结构的方式编写它。
我的代码在没有 :not()
选择器的情况下也能工作,但是当我包含它时我无法让它工作。
另外,我不确定我的方法是否是这里最好/最快的方法。
我的jQuery:
$('.checkAll').click(function(){
if($(this).is(':checked')){
$(this).siblings(":not($('.other'))").prop('checked', true);
}else{
$(this).siblings(":not($('.other'))").prop('checked', false);
}
});
非常感谢您的帮助, 麦克
您在 :not
内不需要 $
。您可以使用 this.checked 优化代码并避免使用 if 语句。
$('.checkAll').click(function(){
$(this).siblings(":not('.other')").prop('checked', this.checked);
});
:not
.
jQuery Selector
$('.checkAll').on('click', function() {
$(this).siblings(":not('.other')").prop('checked', $(this).is(':checked'));
});
$(this).is(':checked')
returns true/false
您已使用 if
检查并将其分配给 checked
.
删除jquery非选择器中的对象,你可以使用字符串
$(this).siblings(":not('.other')").prop('checked', true);