假设我有一个嵌套的 div
布局,其中任何 div
可以有固定位置(CSS 位置:固定
):
<div class="MaybeIAmFixedToo">
<div>
<div class="MaybeIAmFixed">
<div>
<div id="IAmTheTarget">I am the target</div>
</div>
</div>
</div>
</div>
我有最里面元素的 jQuery 引用:$('#IAmTheTarget')
。
我怎样才能(最好的情况下,不会造成性能噩梦:))找出我的目标是否位于固定位置的容器中?例如,$('.MaybeIAmFixed')
可以有固定位置,但我的目标的任何其他父级也可以。
编辑:
我需要知道这一点,因为当元素固定时,我需要使用 $('#IAmTheTarget').position();
获取其位置,如果没有,我需要使用 获取它>$('#IAmTheTarget').offset();
最佳答案
您不能通过任何类型的简单选择器。不过,您可以根据位置过滤元素的父列表:
var fixedp = $('#IAmTheTarget').parents().filter(
function() {
return $(this).css('position') == 'fixed';
}
);
alert('fixed ancestors? ' + (fixedp.length ? "yes" : "no"));
关于jquery - 如何确定元素是否位于固定位置的容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25293684/