1. ホーム
  2. jquery

[解決済み] jQuery: 親から特定の子へ移動するには?

2023-01-06 18:06:33

質問

簡単な例を挙げると、次のようなブロックがページ上で何度も繰り返されています (動的に生成されています)。

<div class="box">
   <div class="something1"></div>
   <div class="something2">
      <a class="mylink">My link</a>
   </div>
</div>

クリックされると、でリンクの親にたどり着ける。

$(".mylink").click(function() {
   $(this).parents(".box").fadeOut("fast");
});

ところが... 私は <div class="something1"> を取得する必要があります。

基本的に、直接参照することができない上位の兄弟を参照する方法を誰か教えてください。仮にアニキと呼ぶことにしましょう。アニキのクラス名を直接参照すると、ページ上のその要素のすべてのインスタンスがフェードアウトしてしまいます - これは望ましい効果ではありません。

試してみました。

parents(".box .something1") ... no luck.
parents(".box > .something1") ... no luck.
siblings() ... no luck.

誰かいませんか?ありがとうございます。

どのように解決するのですか?

呼び出し .parents(".box .something1") を呼び出すと、セレクタにマッチする全ての親要素を返します。 .box .something . 言い換えると、これは、親要素が .something1 の中にあり、かつ .box .

こんな感じで、一番近い親の子供を取得する必要があります。

$(this).closest('.box').children('.something1')

このコードでは .closest を呼び出して、セレクタにマッチする最も内側の親を取得し、次に .children を呼び出して、探しているおじさんを見つけます。