我有两个唯一的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可能是隐藏的,我只想计算 可见的行。
答案 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>