我正在尝试取消选中每个列表项中的input
项,其中li
目前是checked
和hidden
。
DEMO http://jsfiddle.net/VHW9U/
$('#mylist input:checked').each(function() {
if(!$(this).is(":visible")){
$(this).find("input:checkbox").prop("checked", false);
}
});
上面的代码不起作用,我尝试了各种不同的方法,但似乎都没有。如果您查看jsfiddle的源代码,您会看到隐藏的inputs
仍然是checked
答案 0 :(得分:2)
试试这个,复选框不在复选框内。 $(this).find("input:checkbox")
。 this
是复选框
$('#mylist input:checked').each(function() {
if(!$(this).is(":visible")){
$(this).prop("checked", false);
}
});
注意这不会更改已检查的属性,但会更改属性。 DEMO
答案 1 :(得分:1)
尝试
$('#mylist li:hidden input:checked').prop("checked", false);
$('#mylist li:hidden input:checked')
在隐藏的checked
内获取input
li
哪个内部元素为mylist
<小时/> 或
$('#mylist input:checked:hidden').prop("checked", false);
$('#mylist input:checked:hidden')
在checked
input
mylist