如何使用jQuery获取html表的最后一个可见子表行?

时间:2011-10-31 08:32:28

标签: jquery html jquery-selectors

我想知道如何使用jQuery获取HTML表的最后一个可见子项?我问的原因是,我不能使用CSS 3来获取最后一个孩子,因为旧浏览器不支持它,这是我正在处理的遗留项目。

我有一个像这样的表结构:

<table id="table">
    <tr>
        <td>Some name</td>
    </tr>
    <tr>
        <td>Some name</td>
    </tr>
    <tr style="display:none;">
        <td>Some name</td>
    </tr>
</table>

最后一个表格行不可见,当点击数据旁边的加号但它不相关时会显示。我想了解如何使用jQuery选择器获取最后一个可见的表行。

目前我正在使用

$last = $('#table').find('tbody tr:last-child');
$last.addClass('last-child');

但它实际上返回了隐藏的表格行。

提前谢谢

4 个答案:

答案 0 :(得分:15)

尝试:

$('tr:visible:last','#table')

答案 1 :(得分:5)

$last = $('tbody tr:visible').last();

答案 2 :(得分:2)

$last = $('#table').find('tbody tr:visible:last');
$last.addClass('last-child');

http://jsfiddle.net/ptGE2/

正如Mathieu所链接的那样。

答案 3 :(得分:0)

尝试其中一个

$last = $('#table').find('tbody tr:visible:last-child');

or

$last = $('#table').find('tbody tr:visible').is(':last-child');