以前、当サイトで、
jQueryを扱うにあたっては、今回紹介する「セレクタ」の使い方がポイントとなります。 jQuery 初心者向け 「セレクタ」の使い方入門編 まずはこれだけ抑えればOK! - shiru-web.com |
っていう記事を書きました。
「これだけおさえれば」って自信持って吐かしたのですが、若干足りないことに気づきました。ええ。すみません。。
一つ、よく使うやつです。
jQueryで兄弟要素を取得する系のはなし。
とりあえず、共通のhtmlは下記とします。
<ul id="parent"> <li>リスト1</li> <li>リスト2</li> <li>リスト3</li> <li>リスト4</li> <li>リスト5</li> </ul>
例として、どれかの「li」要素をクリックした際に、文字色を兄弟要素の文字色を変えるという設定で、それぞれのjQueryを見ていきます。
自分以外の兄弟の要素を取得
$('#parent').children().click(function(){ $(this).siblings().css({'color':'#ccc'}); $(this).css({'color':'#000'}); });
自分以外の兄弟要素は、「siblings()」で取得できます。
自分の次の兄弟要素を取得
$('#parent').children().click(function(){ $(this).next().css({'color':'red'}); });
自分の一つ後の兄弟要素は、「next()」で取得できます。
ちなみに、「next(’要素名’)」とすると、要素を絞り込んで取得することができます。
自分より後の兄弟要素全てを取得
$('#parent').children().click(function(){ $(this).nextAll().css({'color':'red'}); });
自分の一つ後の兄弟要素は、「nextAll()」で取得できます。
自分より一つ前の兄弟要素を取得
$('#parent').children().click(function(){ $(this).prev().css({'color':'red'}); });
自分より一つ前の兄弟要素は、「prev()」で取得できます。
next同様、「prev(’要素名’)」とすると、要素を絞り込んで取得することができます。
自分より前の兄弟要素全てを取得
$('#parent').children().click(function(){ $(this).prevAll().css({'color':'red'}); });
自分より前の全ての兄弟要素は、「prevAll()」で取得できます。
うん、簡単簡単!