2011-10-27 3 views
6

Comment puis-je obtenir l'élément div suivant et ensuite tous ses enfants?jQuery obtenir l'élément suivant et tous ses enfants

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

donc, si $(this) est actuellement la classe 1, comment puis-je seulement la classe 2 et tous ses enfants. Et je ne peux pas le référencer par son nom de classe puisque je ne saurai pas ce que c'est.

Je suis à la recherche essentiellement de fusionner ces 2 déclarations en 1.

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

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

Répondre

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

Merci Matt, qui a très bien fonctionné. Je vais devoir comprendre comment 'this' est devenu' $ (this) .next() 'pour qu'il puisse se référencer dans' andSelf() 'comme le frère original de' this'. –

+0

La réponse courte: jQuery maintient une pile interne d'objets sélectionnés. Des méthodes comme '.next()' et '.children()' poussent sur la pile; ['.end()' (http://api.jquery.com/end) apparaît. Je déduirais que '.andSelf()' regarde un niveau plus bas dans la pile. –

+0

c'est génial ... Merci encore Matt –

Questions connexes