我有一些具有以下大致结构和定位的 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)。 最佳答案
根据 https://developer.mozilla.org/en/DOM/element.offsetParent ,如果未显示父级( offsetParent
), display: none
将不会像我预期的那样工作。就我而言,容器元素就是这样。
关于javascript - jQuery 中的 offsetParent() 不返回预期的相对定位祖先,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5357954/