1. ホーム
  2. jquery

[解決済み] jqueryで第一階層の要素だけを選択する

2023-01-18 18:41:58

質問

親要素である <ul> のみを選択することはできますか?

<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a>
  <ul>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
  </ul>
</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>

ということで、cssでは ul li a となっていますが ul li ul li a

ありがとうございます。

どのように解決するのですか?

$("ul > li a")

しかし、特に一番外側のulをターゲットにしたい場合は、ルートのulにクラスを設定する必要があります。

<ul class="rootlist">
...

では、それは

$("ul.rootlist > li a")....

もう一つの方法は、ルートのli要素だけを持つようにすることです。

$("ul > li a").not("ul li ul a")

不格好ですが、これでうまくいくはずです。