2011-10-27 35 views
6

¿Cómo puedo obtener el siguiente elemento div y luego todos sus elementos secundarios?jQuery obtener el siguiente elemento y todos sus elementos secundarios

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

así, si $(this) actualmente es de clase 1, ¿Cómo puedo llegar a única clase 2 y todos sus hijos. Y no puedo referenciarlo por su nombre de clase, ya que no sabré qué es eso.

Soy básicamente busca fusionar estas declaraciones 2 en 1.

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

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

Respuesta

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

Gracias Matt, que funcionó muy bien. Voy a tener que pensar cómo 'this' se convirtió en' $ (this) .next() 'para que pueda referirse a sí mismo en' andSelf() 'como el hermano original de' this'. –

+0

La respuesta corta: jQuery mantiene una pila interna de objetos seleccionados. Métodos como '.next()' y '.children()' ingresan a la pila; ['.end()'] (http://api.jquery.com/end) aparece. Debo inferir que '.andSelf()' se ve un nivel más bajo en la pila. –

+0

eso es increíble ... Gracias otra vez Matt –

Cuestiones relacionadas