是否可以使用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>
答案 0 :(得分:82)
像这样:
my_root_ul.find('> li');
.children()
也只选择直接孩子,所以你也可以使用它:
my_root_ul.children('li');