jquery eq 取得

 

jQuery eq() 方法详解:精准选择元素,附代码示例

jQuery は、Web ページの開発を効率化する JavaScript ライブラリです。その中でも、特定の要素を選択する方法は数多くありますが、今回は要素を順番に選択できる `eq()` メソッドについて解説します。

(一) jQuery eq() 方法基礎

`eq()` メソッドは、選択された要素群の中から、指定したインデックス番号に対応する要素を1つだけ取得するためのメソッドです。

基本構文

$(セレクタ).eq(インデックス番号);

パラメータ

パラメータ 説明
セレクタ 要素を選択するための jQuery セレクタ
インデックス番号 取得したい要素のインデックス番号 (0 から始まります)

戻り値

指定したインデックス番号に対応する要素を含む新しい jQuery オブジェクトが返されます。

(二) eq() 方法使用示例

サンプルコード 1: リストの2番目の要素を選択


  <ul>
    <li>リスト項目 1</li>
    <li>リスト項目 2</li>
    <li>リスト項目 3</li>
  </ul>

  <script>
    $(function() {
      $("li").eq(1).css("color", "red"); 
    });
  </script>
  

このコードでは、`li` 要素の中からインデックス番号 1 (2番目) の要素を選択し、その要素の文字色を赤色に変更します。

サンプルコード 2: テーブルの各行の2番目のセルを選択


  <table>
    <tr>
      <td>セル 1-1</td>
      <td>セル 1-2</td>
    </tr>
    <tr>
      <td>セル 2-1</td>
      <td>セル 2-2</td>
    </tr>
  </table>

  <script>
    $(function() {
      $("tr").each(function() {
        $(this).find("td").eq(1).css("font-weight", "bold");
      });
    });
  </script>
  

このコードでは、`tr` 要素 (テーブルの行) をそれぞれ処理し、各行の中で `td` 要素 (テーブルのセル) のうちインデックス番号 1 (2番目) の要素を選択して、その要素のフォントを太字に設定します。

(三) eq() メソッドの利点

  • 簡潔なコードで要素を選択できるため、コードの可読性が向上します。
  • 他の jQuery のセレクタと組み合わせて、より複雑な条件で要素を選択することができます。

(四) eq() メソッド使用上の注意点

  • インデックス番号は 0 から始まるため、注意が必要です。
  • 指定したインデックス番号が、要素の範囲を超えている場合は、空の jQuery オブジェクトが返されます。

jQuery eq() 方法に関するQ&A

Q1: eq() メソッドと :nth-child() セレクタの違いは?

A1: eq() メソッドは、jQuery オブジェクト内の要素の順番に基づいて要素を選択します。一方、:nth-child() セレクタは、親要素内の要素の順番に基づいて要素を選択します。

Q2: eq() メソッドで複数の要素を選択することはできますか?

A2: いいえ、eq() メソッドは、指定したインデックス番号に対応する要素を1つだけ選択します。複数の要素を選択したい場合は、`slice()` メソッドなどを利用します。

Q3: eq() メソッドで選択した要素にクラスを追加するには?

A3: `addClass()` メソッドを使用します。例えば、`$("li").eq(1).addClass("active");` のように記述することで、2番目のリスト項目に "active" クラスを追加することができます。