用Jquery选择孩子而不是孙子

时间:2013-08-12 20:14:16

标签: jquery css-selectors children

我有一个嵌套的无序列表,如下所示:

<ul id="parent">
   <li>
      <ul> <!-- select this-->
        <li></li>
        <li>
            <ul>
                <li></li>
            </ul>
        </li>
      </ul>
   <li>
</ul>

我需要选择#parent的孩子,而不是孙子。

$(#parent).children('ul');选择所有孩子,包括孙子女。我如何将这仅限于儿童?

4 个答案:

答案 0 :(得分:4)

$('#parent').children('>ul');

以上内容不适用于问题中的标记。

你想要child selector

您需要以下内容:

$('#parent > li > ul');

答案 1 :(得分:1)

儿童方法应该做到这一点。你确定你要孙子了吗?你的选择器实际上应该返回0.

此代码应该执行您正在寻找的内容

$('#parent>li').children('ul')

来自official documentation

  

给定一个表示一组DOM元素的jQuery对象,.children()方法允许我们在DOM树中搜索这些元素的子元素,并从匹配元素构造一个新的jQuery对象。 .children()方法与.find()的区别在于.children()只沿DOM树向下移动一个级别,而.find()可以遍历多个级别以选择后代元素(孙子等)

答案 2 :(得分:0)

>放在ul之前;

$('#parent').children('>ul');

答案 3 :(得分:0)

修改原始选择器:$('#parent > li > ul')