0

深さのレベルが異なるリストがあります。

<ul id="top-level" class="top-level">
  <li>Item 1</li>
  <li>Item 2
    <ul class="sub-menu">
      <li>Sub item 1</li>
      <li>Sub item 2</li>
      <li>Sub item 3
        <ul class="sub-menu">
          <li>Subsub item 1</li>
          <li>Subsub item 2</li>
        </ul>
      </li>
      <li>Sub item 4</li>
    </ul>
  </li>
  <li>Item 3</li>
</ul>

次のjqueryスクリプトを使用して、クラスを親に追加しています:

$("ul li ul").parent().addClass("menuparent");

このクラスを最上位の親にのみ追加し、li他のすべての (より深い) 親に別のクラスを追加する方法はありliますか?

4

3 に答える 3

2

>トップレベルのセレクターを使用するだけですul

現在のセレクターに基づく:

$("ul.top-level > li > ul").parent().addClass("menuparent");

またはliのみ:

$("ul.top-level > li").parent().addClass("menuparent");
于 2012-11-07T00:46:30.963 に答える
1

トップレベルliの場合

$("#top-level > li").addClass("menuparent");

下位レベルの場合li

$("#top-level li li").addClass("someotherclass");
于 2012-11-07T00:46:20.057 に答える
0

私が正しく理解している場合、人々はあなたに深い親のliの場所を見つけるための答えを与えていません.これが私の見解です:

$("ul.top-level > li > ul").find('li > ul').parent().addClass("deeper-parent-li");
于 2012-11-07T00:57:16.133 に答える