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

Children メソッドでうまくいくはずです。孫ができるって本当ですか?セレクターは実際には 0 を返す必要があります。

このコードは、探していることを行う必要があります

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

公式ドキュメントより

DOM 要素のセットを表す jQuery オブジェクトを指定すると、.children() メソッドを使用して、DOM ツリー内のこれらの要素の子を検索し、一致する要素から新しい jQuery オブジェクトを構築できます。.children() メソッドは .find() とは異なり、.children() は DOM ツリーを 1 レベル下に移動するだけですが、.find() は複数のレベルを下に移動して子孫要素 (孫など) を選択できます。

于 2013-08-12T20:23:04.247 に答える
0

元のセレクターを変更します。$('#parent > li > ul')

于 2013-08-12T20:22:38.377 に答える
0

>前に置くul;

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