1

私はこのようなナビゲーションを持っています

<ul class="navigation">
    <li class="navlist">
    Navigation1
    <ul>
    <li>point1</li>
    <li>point2</li>
    ...
    </ul>
    </li>

    <li class="navlist">
    Navigation2
    <ul>
    <li>point1</li>
    <li>point2</li>
    ...
    </ul>
    </li>
</ul>
etc (4 more navigations) .. 

最後を選択し、jqueryを使用してそれにクラスを追加します。通常、私はポーブレムにはなりません。しかし、コードにはこのような5つのナビゲーションがあります。そして、このセレクターを使用して最後のクラスにクラスを追加するだけです

$('.navigation ul:last').addClass('last_border')
4

3 に答える 3

1

セレクターを使用して:last-child

:last単一の要素にのみ一致しますが、複数の要素に:last-child一致する可能性があります。親ごとに1つです。

ありません:last

:last現在のjQueryコレクションをフィルタリングし、その中の最後の要素を照合することにより、単一の要素を選択することに注意してください。


したがって、「各ナビゲーションクラスの最後のナビゲーションリストから最後のulを選択しますか?」次に、セレクターがあります。

$('.navigation .navlist:last-child ul:last-child')

http://jsfiddle.net/mattball/HHDHE/

于 2012-12-10T03:31:50.773 に答える
1

これは要素をループし、それぞれ.navigationの最後を選択ulします。

$(".navigation").each(function(i, nav) {
    $(nav).find("ul:last").addClass("last_border");
});

は各個人の.find("ul:last")コンテキストから実行されるため、は現在の要素にのみ適用されます。.navigation:last.navigation


または、jQueryの暗黙的な反復のために、実際にこれを行うことができます。

$(".navigation").find("ul:last").addClass("last_border");

jQueryは見つかった.navigation要素を繰り返し処理し、.find()それぞれに対して個別に実行します。

于 2012-12-10T03:32:29.977 に答える
0

私はここであなたが本当に欲しいものを推測しています:

$('.navigation > li.navlist > ul:last').addClass('last_border')

それは役に立ちますか?

于 2012-12-10T03:32:16.443 に答える