jQuery中position()方法的小问题

如下代码求P元素的偏移量:

$(document).ready(function(){ $("button").click(function(){ x=$("p").position(); alert("Left position: " + x.left + " Top position: " + x.top); }); }); body{ border:1px solid red; } div{ border:0px solid red; position:relative; left:100px; top:0px; }


This is a paragraph.

获得 p 元素的位置坐标

求得的顶部偏移是-16px;但如果给div加个border属性就变为正常的0了,这是问什么呢?求赐教

position()方法的定义和用法:

此方法获取匹配元素相对某些元素的偏移量。

返回的对象包含两个整型属性(top和left)的对象。

此方法只对可见元素有效。

语法结构: 

$(selector).position()

在教程的开头之所以说是获取匹配元素相对于某些元素的偏移量。很多教程都说方法返回的偏移量是相对于父元素,其实并非完全如此......
答案就在这里:jQuery的position()方法
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

http://www.jb51.net/article/59964.htm