0

如何仅显示包含<td>并选中复选框的表行?

var myTable = '#testTable';

$(myTable).find('tr').has('checkbox:checked').has('td').show();

谢谢

4

5 回答 5

1

试试这个:

$('#testTable tr td input[type=checkbox]:checked').show();

$('#testTable>tr>td>input[type=checkbox]:checked').show(); // if you want to make sure they are the direct descendants (only first descendant level)
于 2012-11-26T10:17:08.570 回答
1

您想显示/隐藏而不仅仅是单元格吗?

需要使用.parent().parent()后退到tr元素。

$('#testTable>tr>td>input[type=checkbox]:checked').parent().parent().show();
于 2012-11-26T10:26:35.570 回答
1
$('#testTable>tr>td>input[type=checkbox]:checked').closest('tr').show();
于 2012-11-26T10:29:21.773 回答
1

有效地执行此操作取决于您遍历要在 XPath 查询中操作的节点这一事实。这意味着进行所有后续 XPath 查询实际上应该作为过滤子搜索来完成。这很简单。把方括号放在它周围就可以了(并添加 a.因为使用>):

$('#testTable>tr[.>td>input[type=checkbox]:checked]').show();
于 2012-11-26T10:58:03.767 回答
0

是吗:

var myTable = '#testTable';
$(myTable).find('tr').each(function(){
    if($(this).find('checkbox:checked').length)
        $(this).show();
});
于 2012-11-26T10:17:31.253 回答