not()
not()は指定した要素をjQueryオブジェクトから取り除く為のメソッドです。
引数にセレクタを指定することで、セレクタにマッチしたjQueryオブジェクトを取り除きます。
次のようなHTMLがあったとする。
<ul>
<li id="li1">list item 1</li>
<li id="li2">list item 2</li>
<li id="li3">list item 3</li>
<li id="li4">list item 4</li>
<li id="li5">list item 5</li>
<li id="li6">list item 6</li>
</ul>
次のスクリプトではli要素からfisrt-child擬似クラスで指定した#li1を取り除いたli要素に対してCSSを適応しています。
$('li').not(":first-child").css("color","red");
引数にDOMオブジェクトを指定することも可能です。次のスクリプトではli要素から#li1を取り除いたli要素に対してCSSを適応しています。
$('li').not(document.getElementById('li1')).css("color","red");
引数に関数オブジェクトを指定することで取り除く要素を精査することができます。関数内ではthisで精査するDOMオブジェクトが取得でき、trueを返した場合は取り除かれ、falseを返した場合は取り除かれません。
次のスクリプトもli要素から#li1を取り除いたli要素に対してCSSを適応しています。
$('li').not(function(){
if($(this).attr("id")=="li1"){
return true;
}else{
return false;
}
}).css("color","red");
引数にjQueryオブジェクトを指定することも可能です。
$('li').not($("#li1")).css("color","red");
jQuery 1.0.0での追加/変更not()はjQuery 1.0で定義されたメソッドです
jQuery 1.4.0での追加/変更jQuery 1.4.0より引数に関数オブジェクトやjQueryオブジェクトが指定できるようになりました
参考URL
.not() | jQuery API Documentation
登録日 : 2013年07月28日 最終更新日 : 2013年7月28日