我有一些具有以下大致结构和定位的 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/

10-13 01:51