4

我有一个像这样的嵌套无序列表:

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

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

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

4

4 回答 4

4

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

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

你想要子选择器

您需要以下内容:

$('#parent > li > ul');
于 2013-08-12T20:15:12.620 回答
2

儿童方法应该可以解决问题。你确定要生孙?您的选择器实际上应该返回 0。

这段代码应该做你正在寻找的

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

来自官方文档

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

于 2013-08-12T20:23:04.247 回答
0

放在>前面ul

$('#parent').children('>ul');
于 2013-08-12T20:16:58.710 回答
0

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

于 2013-08-12T20:22:38.377 回答