第1回 セレクタ編連載:jQuery逆引きリファレンス(16/25 ページ)

» 2009年10月09日 00時00分 公開



「連載:jQuery逆引きリファレンス」のインデックス

連載目次


 「:not(selector)」フィルタを利用することで、指定したセレクタ以外の要素を取り出すことができます。

 以下は、class属性が「wings」でない<img>要素に枠線を追加する例です。

<script type="text/javascript">

$(function() {
  $('img:not(.wings)').css('border', 'solid 2px #FF00FF');
});

</script>

……中略……

<h2 id="caption">お勧めの書籍</h2>
<ul>
  <li><img src="http://www.wings.msn.to/books/978-4-7981-1957-1/978-4-7981-1957-1_logo.jpg" alt="ASP.NET" /></li>

  <li><img src="http://www.wings.msn.to/books/978-4-8399-2708-0/978-4-8399-2708-0_logo.jpg" alt="JavaScript" /></li>

  <li><img src="http://www.wings.msn.to/books/978-4-89100-625-9/978-4-89100-625-9_logo.jpg" alt="Visual Basic" class="wings" /></li>

  <li><img src="http://www.wings.msn.to/books/978-4-8399-2438-6/978-4-8399-2438-6_logo.jpg" alt="ASP.NET AJAX" /></li>

  <li><img src="http://www.wings.msn.to/books/978-4-89100-624-2/978-4-89100-624-2_logo.jpg" alt="C#" class="wings" /></li>
</ul>

リスト018 指定したセレクタ以外の要素を取得(Not.html)
このHTMLを実際にブラウザで開く


ブラウザで開く

リスト018の実行結果

 リスト003(Class.html)と比べてみると理解が深まるかもしれません。Class.htmlの反対だからといって、「:not(.wings)」と書くことはできない点に要注意です(この場合は、class属性が「wings」でない、あらゆる要素がマッチしてしまいます)。

 なお、jQuery 1.3以降では、:notフィルタの中でクラス名やid値を指定するほか、「#target p」「h2, .wings」のような複合的なセレクタ表現も指定できるようになっています。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。