jQueryで、リストなどの最後のli要素以外を指定したい場合、「:last-child
以外」という感じで指定するわけですが、この”以外“を指定するnot
の使い方について。
.not()
を使った場合と:not()
を使った場合で、記述方法に違いがあるので備忘録。
//:not()を使った場合 $("ul li:not(:last-child)").css("margin-right","20px"); //.not()を使った場合 $("ul li").not(":last-child").css("margin-right","20px");
:last-chiled
を「“」(または「‘」)で囲むかどうかが違うようで、気づかずにちょっと悩んじゃいました。
確かに:not()
の方も、外側は「”」で囲まれていますもんね。
今までずっと基本的には:not()
しか使っていなかったんですが、以下のように要素を変数に代入してしまった場合は.not()
を使うしかないので。
var myLi = $("ul li"); myLi.not(":last-child").css("margin-right","20px");