2011-10-27 12 views
6

Come posso ottenere il prossimo elemento div e quindi tutti i suoi figli?jQuery ottiene l'elemento successivo e tutti i relativi figli

<div class="1"></div> 
<div class="2"> 
    <div class="child1"></div> 
    <div class="child2"></div> 
</div> 
<div class="3"> 
    <div class="child1"></div> 
</div> 

così, se $(this) attualmente è di classe 1, come posso raggiungere solo classe 2 e tutti i suoi figli. E non posso farvi riferimento con il suo nome di classe dato che non saprò cosa sia.

praticamente sto cercando di unire questi 2 affermazioni in 1.

$(this).next('div').animate({height : 'toggle'}); 
$(this).next('div *').animate({height : 'toggle'}); 
+2

http://api.jquery.com/category/traversing/ – Blazemonger

risposta

12
$(this).next('div').children().andSelf().animate({height : 'toggle'}); 
+0

Grazie Matt, che ha lavorato molto. Dovrò avvolgere la mia mente su come 'this' sia diventato' $ (this) .next() 'in modo che possa fare riferimento a se stesso in' andSelf() 'come il fratello originale di' this'. –

+0

La risposta breve: jQuery mantiene una pila interna di oggetti selezionati. Metodi come '.next()' e '.children()' spingono nello stack; ['.end()'] (http://api.jquery.com/end) pop. Direi che '.andSelf()' sembra un livello più in basso nella pila. –

+0

è fantastico ... Grazie ancora Matt –

Problemi correlati