• ベストアンサー

jQueryで最後の要素だけ文字の色を変えたい

jQueryで<div>の中で<p>タグの最後の、<p>う</p>、<p>お</p>、<p>す</p>の文字の色を変えたいのですが全然できません。 <div class="test"> <p>あ</p> <p>い</p> <p>う</p>←ココ <div class="test"> <p>え</p> <p>お</p>←ココ </div></div> <divl class="test"> <p>さ</p> <p>し</p> <p>す</p>←ココ </div> 色々と試しましたが、うまくいきませんでした。 $(".test>p:last-child").css("color","yellow"); では、<p>お</p>、<p>す</p>しか変わりません。 $(".test>p:last-of-type").css("color","yellow"); で希望どうり動作しましたが、IE8などでは動きませんでした。firefox,chromeでは動作しました。 IE8でも動作する方法はありませんか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

あ~ごめん。かいとうしてから、むいみだとさとった。 jQuery って、つかったことないのよ。 で、 $("div.test > p").filter (function () { return !$(this).nextAll("p").length }).css("color", "yellow"); どうだろう? もっとスマートなやつあるだろうけれど。

noname#256090
質問者

お礼

希望どうり動作しました。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

<style type="text/css"> div.test > p:last-of-type { color: yellow; } </style>

noname#256090
質問者

お礼

ご回答ありがとうございます。 スタイルシートではなくjqueryで変えたいのです。 ":last-of-type"はie8は動かないのでは?

すると、全ての回答が全文表示されます。

関連するQ&A