代码之家  ›  专栏  ›  技术社区  ›  sprugman

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

  •  56
  • sprugman  · 技术社区  · 15 年前

    我有这个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 回复  |  直到 11 年前
        1
  •  130
  •   Nick Craver    15 年前

    你可以使用 :visible selector .length 这样地:

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

    如果 <table> 屏幕上看不到它本身( :visible 如果任何父级被隐藏,则返回false,不必直接隐藏元素),然后使用 .filter() ,像这样:

    var numOfVisibleRows = $('tr').filter(function() {
      return $(this).css('display') !== 'none';
    }).length;
    
        2
  •  13
  •   Tatu Ulmanen    15 年前

    $('tr:visible').length

        3
  •  8
  •   Kailas    11 年前

    还可以查看特定表可见行

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

    这个 不带标题的总行数 给出不包括标题行的总行数。

        4
  •  3
  •   Brian Mains    15 年前

    $(“tr:visible”)获取可见行的结果,我认为您可以这样做。length