javascript – jQuery的位置方法问题

如果我有以下标记

我想得到孩子相对于其父母的位置,唯一的方法如下:

x = parseInt($('#child').css('left')); // returns 0 as needed
y = parseInt($('#child').css('top')); // return 0 as needed

因为如果我做以下事情:

x = $('#child').position().left; // most likely will not return 0 
y = $('#child').position().top; // most likely will not return 0

由于偏移方法添加了祖父母的边距,填充和边框(无论是具有认边距的身体元素还是任何其他祖父母元素),位置都是错误的.

我需要得到正确的位置(在我的例子中它将是0,0)但我怀疑jQuery中没有可以为我计算它的方法

最佳答案
.position()是正确的.它将为您提供相对于元素的偏移父级的x和y值.您的#child元素相对于其自己的偏移父元素定位,即< body>.为了使#parent成为它的偏移父,给它一个相对或绝对的位置.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...