は、あなたがする必要がある何をする複数の方法は、ほとんど常にあります - ここで祖父の要素を選択するためのいくつかのメソッドです:
$("a").parent().parent();
これはそれが聞こえるまさにんあなたのアンカーの親の親を選択します。 親は、ターゲット要素をすぐに囲む要素です。この場合、両方ともdiv
要素です。この例では
$("a").parents("div:eq(1)");
、我々は複数の両親を使用していることに気づきます。これは要素のすべての親を検索し、それをコレクションとして返します。次に特定の選択肢を指定して親のに返信したいものを指定します:div:eq(1)
。
これは、div
の要素が必要であることを示していますが、具体的には結果のコレクションの2位にある要素div
が必要です。定義上、位置2は1つの要素しか格納できないため、1つの要素、つまり祖父要素を返します。
が等しいdiv
こと(:eq
)1
を求めているときに私は、この「位置2」を呼び出すことで混乱している場合は、単にJavaScriptがコレクション内のゼロベースのインデックスシステムなので、最初のアイテムを使用していることを覚えていますインデックス0にあり、2番目のインデックスはインデックス1にあります。
$("a").parents("div").get(1);
別の例として、.get
を使用する、最後に似。これでも.parents
メソッドを呼び出すと、すべてdiv
要素が返されます。これは、div
要素でいっぱいのjQueryオブジェクトを返します(親ツリーがdiv
要素でいっぱいであると仮定します)。
.get
メソッドは、取得する要素に対応するインデックスを取得します。この場合、.parents
を呼び出した結果のコレクションのインデックス1に再び格納される、2番目のdiv
要素を探しています。
注目すべき重要な点は、この例は前の例とは異なり、実際のHTMLDivElement
を返し、jQueryオブジェクトではないことです。違いは、$()
に再度ラップしない限り、jQueryメソッドをHTMLDivElement
から呼び出すことができないという点です。