1

这是我的标记:

<div class=container>
    <ul>
        <li class=record>
            <div class=item></div>    <---- I am here
        </li>
    </ul>
</div>

容器始终存在,但 UL 是可选的。我想要做的是获取“下一个父级” - 元素(来自我当前的项目),或者li.record(如果存在)或div .container

问题是保持层次结构 div.container > li.record

我该如何检查?(选择 UL,如果不存在则选择容器)

谢谢

4

2 回答 2

4

您可以使用任一通用parent方法:

$("li.record").parent("ul, div.container");

如果父级与任一选择器都不匹配,这将使您成为直接父级或什么都没有。

或者

closest方法:

$("li.record").closest("ul, div.container");

即使不是直接父母,这也会让您成为最近的祖先。

于 2009-12-10T22:00:14.573 回答
3

这应该有效:

$.closest("ul, .container");
于 2009-12-10T21:56:09.383 回答