以下は、複数のトリガーとターゲットを持つ非常に単純なシナリオを示す私のコードです。div.trigger 1をクリックすると、div.target 1の色が変更され、div.trigger 2をクリックすると、div.target2の色が変更されます。
私の実際のhtmlははるかに複雑なので、next()を1つだけ使用するのではなく、DOMをトラバースするために多くのメソッドを使用する必要があります。この状況で問題に取り組む他の方法はありますか?
また、トリガー要素とターゲット要素の相対的なhtml構造が変更されても機能するように、コードがより堅牢であると便利です。たとえば、ページの残りの部分のhtmlに関係なく、1番目のdiv.triggerが1番目のdiv.targetをターゲットにし、2番目のdiv.triggerが2番目のdiv.targetをターゲットにするeq関数のようなものがある場合。
<div class="trigger">trigger 1</div>
<div class="target">target 1</div>
<div class="trigger">trigger 2</div>
<div class="target">target 2</div>
$(document).ready(function(){
$('.trigger').click(function(){
$(this).next().css('background-color','red');
});
});
ありがとう