3

サンプルの html コードは次のとおりです。

<div id="current_element">Current element</div>
Many unknown tags...
<div class="target">This is target element</div>
Many other tags...

Target 要素と現在の要素は同じ親の下にない可能性があるため、.nextAll('.target') で見つけることができないことに注意してください。

それを見つける簡単な方法はありますか?ありがとう!

4

2 に答える 2

10

要素はドキュメント順に返されるため.index()、次のように、両方を含むセット内の次の要素を見つけるために使用できます。

var ce = $("#current_element"), all = $("#current_element, .target");
var target = all.eq(all.index(ce)+1);

ここでテストできます

于 2010-10-27T09:17:36.027 に答える
2

コメントの html が質問の html とは異なります

<div id="area1">
  <div id="current_element">Current</div>
</div>
<div id="area2">
  <div class="target">Target</div>
</div>

私がすることは、それらをdivでラップすることです:

<div id="mainparent">
  <div id="area1">
    <div id="current_element">Current</div>
  </div>
  <div id="area2">
    <div class="target">Target</div>
  </div>
<div>

次に、戻って他の子を見つけます。

//this = .current_element
var $target = $(this).closest("#mainparent").find(".target");

これが役立つことを願っています!

于 2010-10-27T08:16:35.777 に答える