使用JavaScript查找元素相对于最近的相对定位父元素的位置

7

有没有办法找到一个元素相对于最近的relative定位父元素的位置?

我想用JavaScript实现。

假设我们有以下HTML:

<div id="div1" style="position:relative"> 
   <div id="div2" style="padding:10px">
      <div id="div3" style="position:absolute top:15px; left:20px;">Stack</div>
   </div>
</div>

我需要"div3"相对于"div1"的位置。
谢谢。

1
你想找到div3相对于div1的x/y坐标吗? - David Thomas
1
我假设你已经尝试过.position()了吗?http://api.jquery.com/position/ - Felix Kling
是的David,为了解决niceform中存在的问题。 - Mosijava
@FelixKling,有没有JavaScript的方法?我不想使用jQuery。 - Mosijava
哎呀,我看到它被错误地标记为jQuery了 :) 无论如何,你可以查看此函数的源代码。它将为您提供跨浏览器解决方案(jQuery也是JavaScript ;)),尽管可能有点过头了。 - Felix Kling
1个回答

7

嗨Xander,它在所有浏览器中都能工作吗?这里说:“在进入棘手的部分之前,首先介绍一个不错的快捷方式,已经被插入到Mozilla和Explorer中:offsetSomething。” - Mosijava
1
@Mosijava 正如 @pimvdb 所指出的那样,在 IE <= 7 中有些古怪。这将适用于您的情况。如果您想要元素相对于文档的位置,则需要一种方法来添加所有父级的偏移量。类似于以下帖子中讨论的方法:http://www.quirksmode.org/js/findpos.html - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接