どうもかわうそです!
今日は『jQuery | eq()』使い方を説明します。
複数要素の中で、ある特定の要素にだけ命令や処理をしたい!そんな場合に使用するのがeq()です。
便利で使いやすいので、使用頻度は高いです。しっかりマスターしておきましょう。
eq()メソッドと一緒によく使われる、index()メソッドやconsole.log()の使用方法もぜひ学んでみて下さい。
eq()の使い方
基本の使用方法
[box class=”box3″]$(‘要素’).eq(順番);[/box]
eq()で指定した順番の要素やセレクタの順番を取得できます!
[alert title=”注意”]eq()の順番指定は0からスタートします[/alert]
以下を試してみましょう。
- A
- B
- C
- D
- E
1 2 3 4 5 6 7 |
<ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> </ul> |
1 2 3 4 |
$(function() { var i = $('li').eq(1).text(); console.log(i); }); |
2番目のli 要素を指定して、そのテキストを取得し、コンソールに出力しました。
なので、結果は
[box class=”box3″]B[/box]
出力できました。
cssに変更を加えたりもできます。
1 2 3 |
$(function() { $('li').eq(1).css('color','red'); }); |
- A
- B
- C
- D
- E
これが基本の使い方になります!
index()と組み合わせ簡単なスライドを作ってみる
冒頭で紹介したこちらの記事の中でも同じ内容で紹介しています。
クリックイベントでスライド作成
ドットのクリックとスライドの表示がindex()によって連動します。
1
2
3
4
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<div id="samp-box"> <p class="box_active">1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> </div> <div id="samp-dot"> <p></p> <p></p> <p></p> <p></p> <p></p> </div> |
1 2 3 4 5 6 7 8 |
$('#samp-dot p').click(function(){ $('#samp-dot p').removeClass('dot_active'); $('#samp-box p').removeClass('box_active'); var dot_i = $(this).index(); $('#samp-box p').eq(dot_i).addClass('box_active'); $(this).addClass('dot_active'); }); }); |
基本設計として、スライドは非表示、ドットはoffの状態です。そこに以下のクラスを付け外しさせることで、スライド表示とドットのアクティブを連動させています。
[box class=”box3″]dot_activeクラス:ドットの色をonにする[/box]
[box class=”box3″]box_actoveクラス:スライドを表示させる[/box]
簡単に解説だけしておきますね!
jQuery②行目、3行目で、ドットをクリックするたびにactiveクラスを全て取り外して初期化します。
④行目で、クリックしたドットの順番を取得しました。
⑤行目で、クリックしたドットの順番と同じスライドをeq()によって指定し、表示
⑥行目で、クリックしたドットをアクティブにしています。
以上、eq()の基本的な使用方法でした!