直接后代只有jQuery的find()

时间:2011-12-07 12:03:33

标签: javascript jquery dom

是否可以使用jQuery的find()children()函数仅选择元素的直接后代?

我有几个ul元素,每个元素都包含其他ul元素,还有一些根li元素。我将特定的父ul存储在变量中(作为jQuery对象),然后使用li查找任何根​​my_root_ul.find('li');元素。

但是,如果有意义,此方法还会找到属于li内的ul的任何ul

我的问题是,如何使用li仅在my_root_ul对象中选择find()类型的直接后代。通常,我们可以使用类似$('ul > li')的内容来仅返回直接li元素,但必须可以过滤掉返回的元素吗?

这是一个展示我的意思的例子:

<ul>
    <li>I want this
        <ul>
            <li>I don't want this</li>
            <li>I don't want this</li>
            <li>I don't want this</li>
        </ul>
    </li>
    <li>I want this</li>
    <li>I want this</li>
</ul>

1 个答案:

答案 0 :(得分:82)

像这样:

my_root_ul.find('> li');

.children()也只选择直接孩子,所以你也可以使用它:

my_root_ul.children('li');