无论包含块如何,都要计算位置

时间:2012-04-26 17:32:19

标签: jquery html css

我在<table>个标签中有一个<div>

<div class=outer>
  <div class=inner>
    <table>
      <tbody>
        <tr><td>col1</td><td>col2</td></tr>
        <tr><td>col1</td><td>col2</td></tr>
      </tbody>
    </table>
  </div>
</div>

如果使用jQuery的$.fn.position函数获取行的位置:

console.log($('tr:first').position().top);

根据我是否div.inner设置为position: relativeexample),它会返回不同的值。我相信这是因为行的containing block在每种情况下都不同。

无论将div.inner的位置设置为relative,我都需要计算行相对于身体的位置。有一种优雅的方式来实现这一目标吗?或者我是否需要提升DOM树,检查每个祖先是否为position: relative,并根据它添加偏移量?

1 个答案:

答案 0 :(得分:1)

我认为你是console.log($('tr:first')。offset()。top);