私はいくつかのタグ<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);
( examplediv.inner
) に設定するかどうかによって、異なる値が返されます。これは、行の包含ブロックがケースごとに異なるためだと思います。position: relative
div.inner
の位置が に設定されているかどうかに関係なく、ボディに対する行の位置を計算する必要がありrelative
ます。これを達成するエレガントな方法はありますか?それとも、DOM ツリーを上って、各祖先がposition: relative
であるかどうかを確認し、それに基づいてオフセットを追加する必要がありますか?