後に特定のクラスを持つ最初の要素を選択するには、私のバイオリンです: http://jsfiddle.net/jamesbrighton/wxWgG/4/jQueryのは、ここでは、この
HTML:
<div>
<p class="click">Click 1</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
</div>
<div>
<p class="target">Target 1</p>
</div>
<div>
<p class="target">Target 2</p>
</div>
<div>
<p class="click">Click 2</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
<p>This should be ignored</p>
</div>
<div>
<p class="target">Target 3</p>
</div>
<div>
<p class="target">Target 4</p>
</div>
jQueryの:あなたがクリックしたときに
$('.click').click(function() {
$(this).nextAll('.target').css('color','red');
});
私はそれを必要としますp.click
、次にp.target
が赤色に変わります。
'Click 1'
をクリックすると、'Target 1'
が赤色に変わります。 'Click 2'
をクリックすると'Target 3'
が赤色に変わります。
.find
私は.closest
を試しましたが、jQueryのドキュメントからはうまくいくはずです。 HTMLから見ると、.target
は.click
の子ではありません。
nextAllは親の外ではなく、兄弟で動作します。それでトラバースする方法を教えてください。もしあなたが親の兄弟の子を望むなら、それは可能です。 –
あなたの例はそれほど良くはありません。ただ一つの「クリック」要素しか含んでいません。 「クリック」と「ターゲット」はどのように関連付けられていますか? 2つ目の「クリック」がクリックされた場合、2番目の「ターゲット」が強調表示されるべきであることを意味します。 *編集:*あなたは間違ったフィドルにリンクしていたようです。そのため、常にコードを含める必要があります。 –
「クリック1」または「クリック2」は表示されません。あなたのコードは最新のものですか? –