计算特定div中表的可见行

时间:2018-02-27 01:07:25

标签: javascript jquery html

我有两个唯一的div id,里面有相同的表ID。

<div id = 'currentItems'><table id = 'allItems'></table></div>

正在显示当前表

<div id = 'newItems'><table id = 'allItems'></table></div>

正在显示刷新的表(通过jquery加载)

我目前有这个jquery函数,它抓取所有可见的表行。它工作得很好,除了我有两个具有相同ID的表。

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

有没有办法指定上面的函数只能在div id ='newItems'中查找可见的TR?记住div和table可能是隐藏的,我只想计算 可见的行。

1 个答案:

答案 0 :(得分:2)

所以使用div id和visible selector

var trsC = $('#currentItems table tbody tr:visible')
console.log(trsC.length);
var trsN = $('#newItems table tbody tr:visible')
console.log(trsN.length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="currentItems">
  <table>
    <tbody>
      <tr><td>1</td></tr>
      <tr><td>2</td></tr>
      <tr hidden><td>3</td></tr>
      <tr><td>4</td></tr>
    </tbody>
  </table>
</div>


<div id="newItems">
  <table>
    <tbody>
      <tr><td>5</td></tr>
      <tr hidden><td>6</td></tr>
      <tr hidden><td>7</td></tr>
      <tr><td>8</td></tr>
    </tbody>
  </table>
</div>