我的页面中有一个表格,其结构如下:
...<td class="ind"><input type="checkbox" .../> ... </td>
<td><input type="checkbox" .../> ... </td>
<td><input type="checkbox" .../> ... </td>
对于<td>
中包含ind
类的每个复选框,我想将该复选框设置为其不确定状态,如here
我怎样才能让这件作品发挥作用?
$(document).ready(function() {
var checkboxes = $(".ind").find(':checkbox');
for (var i = 0; i < $(checkboxes).length; i++) {
checkboxes[i].prop("indeterminate", true);
}
});
答案 0 :(得分:2)
checkboxes[i]
为您提供DOM节点,而不是jQuery对象,因此您无法使用.prop
。使用checkboxes[i].indeterminate = true
或checkboxes.eq(i).prop('indeterminate', true)
当然,代码可以简化。您不需要遍历复选框来设置属性,您可以立即将其设置为整个集合,jQuery将在内部处理迭代:
$('.ind :checkbox').prop('indeterminate', true);
答案 1 :(得分:2)
这是一个单行
$(".ind :checkbox").prop("indeterminate", true);
请注意,jQuery始终适用于所有选定的元素。你不需要写循环。
答案 2 :(得分:0)
.prop是一个jQuery方法,只需$ .each():
$(document).ready(function() {
var checkboxes = $(".ind").find(':checkbox');
// for (var i = 0; i < $(checkboxes).length; i++) {
// checkboxes[i].prop("indeterminate", true);
// }
checkboxes.each(function() {
$(this).prop("indeterminate", true);
});
});
编辑:正如tomlak所说,这实际上只是一个班轮:)因为你可以通过$(“。ind”)选择所有想要的复选框.find(':checkbox');你可以继续简单地继续jQuery:
$(".ind").find(':checkbox').prop("indeterminate", true);