-6

私はこのコードを持っています

<td>
  <div class='DivA'>
    <a href='#' class='LinkA'>Upload</a>
    <a href='#' class='LinkB'>Upload</a>
    <a href='#' class='LinkC'>Upload</a>
    <a href='#' class='LinkD'>Upload</a>
    <a href='#' class='LinkE'>Upload</a>
    <a href='#' class='LinkF'>Upload</a>
    <a href='#' class='LinkG'>Upload</a>
   </div>
   <div class='DivB'>Some Stuff</div>
    </td>

LinkB をクリックして LinkG にアクセスする最も効率的な方法は何ですか。私は(私の意見では)これらの最良の解決策を考え出しましたが、どれが最も速い解決策であるかに苦労しています.

$('.LinkB').closest(".LinkG");

また

$('.LinkB').parent().find('.LinkG');
4

1 に答える 1

1

これらは異なることを行います。

.closest('.DivB')セレクターに一致する要素が見つかるまで DOM ツリーをたどります (おそらく何もない)。

.parent().next()親を見つけてから次の兄弟を見つけます。

あなたが望むのは.closest('td').find('.DivB')、マイクロ最適化について心配する必要はありません。DOM がわずかに変更されても壊れることはなく、おそらく必要なものである単一のテーブル セルの範囲内で機能します。

編集: 質問は大幅に編集されていますが、.closest()それでもあなたが思っていることはしません。今、あなたが欲しい$('.LinkB').siblings(".LinkG");

于 2013-09-18T20:20:21.703 に答える