jquery选择器来计算可见表行的数量?

spr*_*man 58 jquery jquery-selectors

我有这个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>
Run Code Online (Sandbox Code Playgroud)

我需要计算该行数display:none.我怎样才能做到这一点?

Nic*_*ver 133

您可以使用:visible选择器,.length如下所示:

var numOfVisibleRows = $('tr:visible').length;
Run Code Online (Sandbox Code Playgroud)

如果它<table>本身在屏幕上不可见(:visible如果隐藏任何父项则返回false,则不必直接隐藏该元素),然后使用.filter(),如下所示:

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

  • 如果您只希望计数在表体中包含可见行,则使用$('tr:visible').length - $('thead> tr'). (2认同)

Tat*_*nen 14

$('tr:visible').length


Kai*_*las 8

您还可以查看特定的表可见行

 var totalRow =  $('#tableID tr:visible').length;
 var totalRowWithoutHeader = totalRow-1;
Run Code Online (Sandbox Code Playgroud)

totalRowWithoutHeader给总行数不包括标题行.

  • 最好不要对标题行的数量进行硬编码,而是使用$('thead> tr').length. (3认同)