JQuery селектор для подсчета количества видимых строк таблицы? - PullRequest
57 голосов
/ 28 мая 2010

У меня есть этот HTML:

<table>
    <tr style="display:table-row"><td>blah</td></tr>
    <tr style="display:none"><td>blah</td></tr>
    <tr style="display:none"><td>blah</td></tr>
    <tr style="display:table-row"><td>blah</td></tr>
    <tr style="display:table-row"><td>blah</td></tr>
</table>

Мне нужно посчитать количество строк, которые не имеют display:none. Как я могу это сделать?

Ответы [ 4 ]

132 голосов
/ 28 мая 2010

Вы можете использовать селектор :visible и .length следующим образом:

var numOfVisibleRows = $('tr:visible').length;

Если <table> сам не виден на экране (:visible возвращает false, если какой-либо родитель скрыт, элемент не должен быть скрыт напрямую), тогда используйте .filter(), вот так:

var numOfVisibleRows = $('tr').filter(function() {
  return $(this).css('display') !== 'none';
}).length;
13 голосов
/ 28 мая 2010

$('tr:visible').length

8 голосов
/ 19 ноября 2013

Вы также можете просмотреть определенные таблицы видимых строк

 var totalRow =  $('#tableID tr:visible').length;
 var totalRowWithoutHeader = totalRow-1;

totalRowWithoutHeader дает общее количество строк, исключая строку заголовка.

3 голосов
/ 28 мая 2010

$ ("tr: visible") получает результаты видимых строк, и я думаю, что вы можете сделать .length

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...