5

我需要找到第一个拥有position:relative. 类似于下面的示例,但我的真实内容将动态生成。

<div id="parent1" style="position:relative">
    <div id="parent2">
        <div id="my-element" style="position:absolute"></div>
    </div>
</div>

你知道使用 jQuery 的简单方法吗?

4

2 回答 2

12

您可以filter设置parents(), 并获取与您的过滤器匹配的第一个元素:

$('#my-element')
    .parents()
    .filter(function() { 
        return $(this).css('position') == 'relative'; 
    }).first();

演示也适用于类

于 2013-03-04T13:24:46.157 回答
-2

我建议您添加一个类,而不是直接更改样式,然后使用 jQuery 查找该类。更加简单直观。

CSS:

.active{
    position:relative;
}

HTML:

<div id="parent1" class="active">
    <div id="parent2">
        <div id="my-element"></div>
    </div>
</div>

jQuery:

//getting the first element with .active class
$('#my-element').closest('.active')
于 2013-03-04T13:24:10.633 回答