position()和表格

这怎么可能不警告0 (相反,它警告50 )?

我需要相对于桌子的td位置

http://jsfiddle.net/vxVCE/

HTML:

 
linje 1
linje 2

JS:

 var elm = $('#td1'); var position = elm.position(); alert(position.top); 

编辑:我需要相对于表格的tr位置:)

添加position: relative; 到桌子。 这样做会使其警报0.否则,它会找到相对于文档的位置。

因为它不在顶部 – 因此它不是


身体的衬垫为10px
桌子上方的div高度为40px

因此它警告“ 50 ”( 10 + 40 = 50

@Neal已经很好地解释了它给出50的原因。这是第二部分:

要获取到表的位置,从td顶部减去表的顶部:

 alert(position.top - $('#td1').closest('table').position().top); 

演示: http : //jsfiddle.net/mrchief/vxVCE/1/

注意:根据您的HTML / CSS,您可能必须使用表的offset

 alert(position.top - $('#td1').closest('table').offset().top);