<div style="height:300px;overflow:auto">
<table id="mytable">
<tr><td>Row 1</td></tr>
<tr><td>Row 2</td></tr>
<tr><td>Row 3</td></tr>
<!-- 500 or so more rows here -->
</table>
</div>
使用如下所示的简单jQuery选择器不起作用,因为这会选择表中的所有行,因为它们在技术上可以根据jQuery显示。它们实际上并不可见,因为你必须滚动才能看到它们。
$('#mytable').find('tr').filter(':visible');
相反,我需要看看是否有人知道如何只选择可滚动div中可见的行。这只是用户在任何给定时间点实际可以看到的行。如果它们向下滚动并且选择器再次运行,它应该返回一组不同的行,即实际可见的行。
希望我正确地解释了我的问题。如果我需要详细说明,请告诉我。
答案 0 :(得分:3)
jquery有一个扩展视口选择器,看起来像你要求的那样。 lib的URL是: