jQuery krijgt het volgende element en al zijn kinderen

Hoe kan ik het volgende element en al zijn kinderen krijgen?

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

dus, als $ (dit) momenteel klasse 1 is, hoe kan ik dan alleen klasse 2 en al zijn kinderen bereiken. En ik kan er niet naar verwijzen door zijn klassennaam omdat ik niet weet wat dat is.

Ik ben eigenlijk op zoek om deze 2 statements samen te voegen tot 1.

$(this).next('div').animate({height : 'toggle'});
$(this).next('div *').animate({height : 'toggle'});
6
toegevoegd de auteur Blazemonger, de bron

1 antwoord

$(this).next('div').children().andSelf().animate({height : 'toggle'});
12
toegevoegd
Het korte antwoord: jQuery onderhoudt een interne stapel geselecteerde objecten. Methoden zoals .next() en .children() drukken op de stapel; .end() verschijnt. Ik zou concluderen dat .andSelf() er een niveau lager in de stapel uitziet.
toegevoegd de auteur Matt Ball, de bron
Graag gedaan. Lees de documenten .end() en het geeft een beetje meer details.
toegevoegd de auteur Matt Ball, de bron
Oh, de .andSelf() documenten leggen het ook uit: api.jquery.com/ andSelf
toegevoegd de auteur Matt Ball, de bron
Bedankt Matt, dat werkte prima. Ik zal me moeten afvragen hoe this $ (this) .next() is geworden zodat deze zichzelf kan verwijzen in andSelf() als de originele broer van deze .
toegevoegd de auteur Tim Joyce, de bron
dat is geweldig ... Nogmaals bedankt Matt
toegevoegd de auteur Tim Joyce, de bron