这怎么可能不提醒0
(而是提醒50
)呢?
我需要td相对于table的位置
http://jsfiddle.net/vxVCE/
HTML:
<div style="height:40px"></div>
<div>
<table id="tbl">
<tr>
<td id="td1">linje 1</td>
</tr>
<tr>
<td id="td2">linje 2</td>
</tr>
</table>
</div>
JS:
var elm = $('#td1');
var position = elm.position();
alert(position.top);
edit:我需要tr相对于表的位置:)
4条答案
按热度按时间vngu2lb81#
将
position: relative;
添加到表中。这样做将使其警报为0。否则,它将查找相对于文档的位置。6qftjkof2#
因为在最上面是而不是--所以它是而不是零
正文的填充为
10px
。表上方的div的高度为
40px
。因此,它会发出警报“
50
”(10 + 40 = 50
)dsekswqp3#
@Neal很好地解释了为什么它给出了50。下面是第二部分:
要获得相对于目标表的位置,请从
td
顶部减去表的顶部:演示:http://jsfiddle.net/mrchief/vxVCE/1/
offset
。bjg7j2ky4#
为了添加相对于
table
的位置,还需要将其添加到tbody
(如果有)