1

このhtmlを与えられた

    <div class="my_div">a</div>
    <div class="my_div">b</div>
    <div class="my_div">c</div> 
    <div>other</div>

.my_divこのクラスの最後の要素ではなく、すべての要素を選択したいのですが、これは正しく機能しません

            $(".my_div:not(:last-child)").css({
                color: "#090"
            });

最後の要素を除く、あるクラスからすべての要素を選択するにはどうすればよいですか?

4

3 に答える 3

11

:last-childまさにそれであり、特定のタグの最後の子ではなく、最後の子です

jQueryは:lastセレクターを提供します。これは必要なことを実行しますが、ブラウザーが実行するものではなく、jQueryが実行するものであるというコストがかかります。したがって:

$("div.my_div:not(:last)").css({
    color: "#090"
});

実例| ソース

于 2012-11-09T22:22:52.823 に答える
0

おそらくこのように:

$(".my_div").each(function(ind,el){
 if(el == $(".my_div:last")[0]) return true;//continue;
 $(el).css({color: "#090"});
});

http://jsfiddle.net/mys3k/1/

于 2012-11-09T22:25:13.417 に答える
-1

この問題にjQueryでcssクラスを使用する場合は、おそらく最も簡単です。

// add .nostlasts class to all .my_div divs
$('.my_div').addClass('notlasts');
// remove .nostlasts class from last .my_div
$( $('.my_div')[ $('.my_div').length ] ).removeClass('notlasts');
于 2012-11-09T22:26:49.443 に答える