Подтвердить что ты не робот

Jquery selector, чтобы подсчитать количество видимых строк таблицы?

У меня есть этот 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. Как я могу это сделать?

4b9b3361

Ответ 1

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

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

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

var numOfVisibleRows = $('tr').filter(function() {
  return $(this).css('display') !== 'none';
}).length;

Ответ 2

$('tr:visible').length

Ответ 3

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

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

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

Ответ 4

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