我有一些HTML具有以下近似结构和定位:offsetParent()jQuery中未返回预期相对定位的祖先
<div class="grand-parent" style="position: absolute">
<div class="parent" style="position: relative">
<div class="child"></div>
</div>
</div>
在我的jQuery插件,我试图插入位于一个元素在小部件所针对的元素的“偏移父级”中。要做到这一点,我基本上是有这样的代码:
var targetElement = $('.child');
$('<div/>').appendTo(targetElement.offsetParent());
不幸的是,要素似乎被插入为.grand-parent
,而不是parent
一个孩子。我对offsetParent()
(和文档似乎支持这一点)的理解是,offsetParent()
应返回.parent
,因为它位于相对位置。我对offsetParent的理解是不正确的,还是jQuery有问题(我正在使用1.4.1)。
我注意到你正在追加到“this.element.offsetParent()”。这与targetElement有什么关系?你对offsetParent和appendTo的使用看起来是有效的,所以也许问题出在你简化它之前使用“this”或代码有问题? – Mayo 2011-03-18 21:32:16
'this.element.offsetParent()'中的“this”的上下文是什么? – lsuarez 2011-03-18 21:33:18
糟糕...更正。抱歉。应该是'targetElement.offsetParent()' – Jacob 2011-03-18 21:35:02