Как получить последнюю видимую строку дочерней таблицы HTML-таблицы с JQuery? - PullRequest
1 голос
/ 31 октября 2011

Я хочу знать, как получить последний видимый дочерний элемент таблицы HTML, используя jQuery? Причина, по которой я спрашиваю, заключается в том, что я не могу использовать 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 ]

15 голосов
/ 31 октября 2011

Попробуйте:

$('tr:visible:last','#table')
5 голосов
/ 31 октября 2011
$last = $('tbody tr:visible').last();
2 голосов
/ 31 октября 2011
$last = $('#table').find('tbody tr:visible:last');
$last.addClass('last-child');

http://jsfiddle.net/ptGE2/

Как говорил Матье.

0 голосов
/ 31 октября 2011

попробуйте один из этих

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

or

$last = $('#table').find('tbody tr:visible').is(':last-child');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...