如何获取div容器中的最后一个可见行?

时间:2014-05-14 23:14:47

标签: jquery

我有一个容器内。表行在此div容器中溢出。鉴于此,

    <div id="tableDiv"> 
      <table> 
       <tbody id="topTbody">
          <tr data-index="1"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="2"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="3"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="4"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="5"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="6"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="7"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="8"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="9"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
          <tr data-index="10"><td>dfsfad</td><td>afadfaf</td><td>afafd</td></tr>
       </tbody>
      </table>
    </div>

我需要获取div容器中的最后一个可见行。 我试过这个:                 alert($(&#34; #topTbody tr:visible&#34;)。last()。attr(&#34; data-index&#34;));

它给了我10的最后一个索引(行),但是在div中看不到索引10。索引5是div容器中的最后一个可见行。如何获取div容器中的最后一个可见行

1 个答案:

答案 0 :(得分:0)

未经测试,但您可以尝试这些方面的内容

var divHeight = $('#tableDiv').height(); // or outerHeight()?
var visibleHeight = 0;
var visibleIndex = 0;
$.each('#topTbody tr', function(index, row) {
  visibleHeight += $(row).height();
  if (visibleHeight > divHeight) {
    // Its not visible so get the index and exit
    visibleIndex = index;
    return false
  }

您可能需要考虑部分可见的项目