Jquery 获取我的复选框的选中值

Jquery 获取我的复选框的选中值,jquery,css,Jquery,Css,我有以下html代码: <tr> <td class="right"> <label class="input-control tiny-checkbox" onclick=""> <input type="checkbox" value="0"/> <span class="helper"></span> </label>

我有以下html代码:

<tr>
    <td class="right">
        <label class="input-control tiny-checkbox" onclick="">
            <input type="checkbox" value="0"/>
            <span class="helper"></span>
        </label>
    </td>
    ...
即使选中了ckeckbox,选中的var也永远不会为真。我不知道为什么


有什么想法吗?

您必须在
子元素的内部使用
查找
,因为子元素检查直接子元素,
不是在孙子

  var checked = $(this).find(':checkbox').is(':checked'); 

您必须在
子元素的内部使用
find
,因为子元素会检查直接子元素, 不是在孙子

  var checked = $(this).find(':checkbox').is(':checked'); 
使用
find()
方法而不是
children()
,因为复选框不是
td

$("table tbody tr td").click(function () {
    var col = $(this).parent().children().index($(this));
    var row = $(this).parent().parent().children().index($(this).parent());

    if (col == 0) {
        // col checkbox -> highlight the line (on/off)
        var checked = $(this).find('input:checkbox').is(':checked');
    }
});
演示:

使用
find()
方法,而不是
children()
,因为复选框不是
td
的直接子项

$("table tbody tr td").click(function () {
    var col = $(this).parent().children().index($(this));
    var row = $(this).parent().parent().children().index($(this).parent());

    if (col == 0) {
        // col checkbox -> highlight the line (on/off)
        var checked = $(this).find('input:checkbox').is(':checked');
    }
});

演示:

只是一个旁注:
var col=$(this.index();var行=$(this).closest(“tr”).index()只是旁注:
var col=$(this.index();var行=$(this).closest(“tr”).index()对,
子元素
很少需要,查询单个元素时100%不需要<代码>查找
无论如何都会更快。所以我想说,尽可能多地使用
查找
,只有在严格必要时才使用
子项
。对,
子项
很少需要,在查询单个元素时100%不需要<代码>查找
无论如何都会更快。因此,我要说的是,尽可能多地使用
查找
,只有在严格必要时才使用
儿童