0

私はこのようなものを持っています:

  • 最初のレベル1
    • 第2レベル1
      • 第3レベル
      • 第3レベル2
    • 第2レベル2
  • 最初のレベル2

アンカータグを含むli要素に続くすべての兄弟li要素にClassを追加したいと思います。

私はこれをやってみました

$(li>a).next().addClass('makebold');

$(li> a)は最初のレベル1 li要素を選択し、次に選択/一致した要素の直後の兄弟を選択するnext()に従って、クラスの追加によってBOLDを取得する必要がある要素は最初のレベルである必要があります2

but the li elements-of 2nd and 3rd level are getting bold . I am wondering why ?

これがulリストの私のhtmlコードです

<ul> <li><a href="">first level 1</a> <ul> <li>2nd level 1 <ul> <li><a href="">3rd level</a></li> <li>3rd level 2</li> </ul> </li> <li>2nd level 2</li> </ul> </li> <li>first level 2</li>
</ul>

4

2 に答える 2

1

aの後にではなく、の後に要素を選択していますli。代わりにこれを使用してください:

$('li > a').parent().next().addClass('makebold');
于 2012-02-11T18:00:45.283 に答える
0

これはどう:

$('li > a').parent().find('li').addClass('makebold');

子としてアンカー要素を持つli要素の子孫であるli要素を選択します。私はあなたの質問を正しく理解したことを望みます。他の答えに基づいて、私は私たちの何人かがあなたが何を求めているのか理解していないと推測することができます。

于 2012-02-11T18:07:04.533 に答える