我有一些HTML具有以下近似结构和定位:
<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)。
答案 0 :(得分:6)
根据https://developer.mozilla.org/en/DOM/element.offsetParent,offsetParent
如果未显示父级(display: none
),则无法正常工作。在我的例子中,容器元素就是那个。