我有一个 <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: relative
(example)。我相信这是因为该行的 containing block每种情况都不同。
无论div.inner
如何,我都需要计算行相对于主体的位置的位置设置为 relative
.有没有一种优雅的方法来完成这个?或者我需要提升 DOM 树,检查每个祖先是否是 position: relative
,并在此基础上添加一个偏移量?
最佳答案
我认为你是 console.log($('tr:first').offset().top);
关于jquery - 计算位置而不考虑包含 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338471/