我有一个包含以下结构的html表:
<table>
<tbody>
<tr><th>heading1</th></tr>
<tr style="display: none"> <td>data1</td></tr>
<tr style="display: none"> <td>data1</td></tr>
</tbody>
<tbody>
<tr><th>heading2</th></tr>
<tr> <td>data1</td></tr>
<tr style="display: none"> <td>data1</td></tr>
</tbody>
</table>
我正在寻找一种方法来选择该表中包含标题的行,但其所有兄弟都被隐藏,在本例中,不会选择heading2,因为只隐藏了一行。
答案 0 :(得分:2)
我认为应该这样做:
$("th").filter(function(){
return !$(this).parent().nextAll().is(":visible");
});
答案 1 :(得分:1)
var tr = $('tr:first-child').filter(function() {
return $(this).siblings(':hidden').length == $(this).siblings().length;
});
答案 2 :(得分:0)
$('table th').filter(function() {
var $tr = $(this).parent().siblings('tr');
return $tr.filter(':hidden').length == $tr.length;
}).parent();