我的HTML Dom如下:
<div class="menu">
<input type="checkbox" value="1" class="chk-act">
<input type="checkbox" value="2" class="chk-act">
<input type="checkbox" value="3" class="chk-act">
</div>
<div class="menu">
<input type="checkbox" value="4" class="chk-act">
<input type="checkbox" value="5" class="chk-act">
<input type="checkbox" value="6" class="chk-act">
<input type="checkbox" value="7" class="chk-act">
</div>
<div class="menu">
<input type="checkbox" value="8" class="chk-act">
<input type="checkbox" value="9" class="chk-act">
</div>
每个div
中的复选框数量不固定。这可能是1到50.所以我需要检查每个div
如果选中所有复选框然后div样式的一些更改,如更改颜色,您检查所有复选框检查的建议是什么?
答案 0 :(得分:3)
在一行中:
$('.menu:has(:checkbox:not(:checked))');
为了解释,这将选择所有<div class="menu">
元素,其中包含一个尚未选中的复选框。然后,您可以添加css类或执行您需要的任何操作。如果您在添加课程后需要“重置”它们,我会做这样的事情:
$('.menu')
.removeClass('notChecked')
.filter(':has(:checkbox:not(:checked))')
.addClass('notChecked');