0

我的页面中有一个表格,其结构如下:

...<td class="ind"><input type="checkbox" .../> ... </td>
   <td><input type="checkbox" .../> ... </td> 
   <td><input type="checkbox" .../> ... </td> 

<td>对于包含在一个类中的每个复选框ind,我想将该复选框设置为其不确定状态,如此处所示

我怎样才能让这件作品工作?

$(document).ready(function() {
        var checkboxes = $(".ind").find(':checkbox');
        for (var i = 0; i < $(checkboxes).length; i++) {
            checkboxes[i].prop("indeterminate", true);
        }
    });
4

3 回答 3

2

checkboxes[i]给你 DOM 节点,而不是 jQuery 对象,所以你不能.prop在那里使用。要么使用checkboxes[i].indeterminate = true要么checkboxes.eq(i).prop('indeterminate', true)

当然可以简化代码。您不需要遍历复选框来设置属性,您可以立即将其设置为整个集合,jQuery 将在内部处理迭代:

$('.ind :checkbox').prop('indeterminate', true);
于 2013-05-22T10:41:51.940 回答
2

那是单线

$(".ind :checkbox").prop("indeterminate", true);

请注意,jQuery 始终适用于所有选定的元素。您不需要编写循环。

于 2013-05-22T10:43:04.393 回答
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 awesomeness:

$(".ind").find(':checkbox').prop("indeterminate", true);
于 2013-05-22T10:43:27.567 回答