jQuery .not()と:not()の違い

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");
備忘録 | |