Ecco il mio violino: http://jsfiddle.net/jamesbrighton/wxWgG/4/jQuery selezionare primo elemento che ha una certa classe dopo questo
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');
});
ne ho bisogno in modo che quando si fa clic su a p.click
, il prossimo p.target
diventa rosso.
Quindi, se si fa clic su 'Click 1'
allora 'Target 1'
diventa rosso. Se fai clic su 'Click 2'
allora 'Target 3'
diventa rosso.
Così come .find
ho provato .closest
e dalla documentazione di jQuery mi sembra che dovrebbe funzionare. Come puoi vedere dal codice HTML, .target
non è figlio di .click
, nel caso in cui ciò faccia la differenza.
nextAll funziona sui fratelli, non al di fuori dei suoi genitori. Quindi devi dirci come vuoi attraversare .. se vuoi che i genitori fratelli siano figli allora è possibile. –
Il tuo esempio non è molto buono, contiene solo un elemento "Click". Come sono associati i "Click" e "Target"? Sono entrambi in ordine, ovvero se viene cliccato il secondo "Click", se il secondo "Target" è evidenziato, ecc.? * modifica: * apparentemente hai collegato il violino sbagliato. Ecco perché dovresti sempre includere anche il codice. –
Non vedo un "clic 1" o un "clic 2". Il tuo codice è aggiornato? –