jQuery nextAll - Klicken Sie auf h-Element schaltet alle p-Elemente bis zum nächsten h um

8

Ich erstelle eine FAQ-Seite, auf der die Antwort durch Klicken auf die Frage umgeschaltet wird. Die Frage ist h3 und die Antwort ist einige p -Elemente. So:

%Vor%

Wie kann ich alle p -Elemente, die zu einer bestimmten Frage gehören, umschalten? Mein JS schaltet alle folgenden p -Elemente auf der Seite um:

%Vor%

Ich kann div 's oder Klassen nicht verwenden.

    
Christoph 03.07.2009, 15:54
quelle

4 Antworten

16

Der beste Weg, dies zu tun, besteht darin, jedes zu verwenden und zu iterieren, bis Sie zum nächsten Element kommen, das die Iteration stoppen soll. Die Wiederholung während einer Wiederholung stoppt die Iteration. Mithilfe des Filters können Sie den Typ des Elements in der Iteration überprüfen und entsprechend reagieren.

%Vor%     
tvanfosson 03.07.2009, 16:02
quelle
8

Ich würde es so machen:

%Vor%

Die Rückgabe von false von jedem () beendet die Kette.

Ich würde auch vorschlagen, wenn möglich, Ihre Daten besser zu strukturieren, um dieses Szenario zu bewältigen. Zum Beispiel:

%Vor%

und dann wird das Problem trivial zu lösen:

%Vor%     
cletus 03.07.2009 16:00
quelle
1

Hier ist eine interessante Lösung, die nicht .each ()

verwendet %Vor%

Ich suche den nächsten Ps nach Index. Nicht sicher, wie praktisch das ist, aber es war eine gute Übung.

    
ScottE 03.07.2009 17:16
quelle
0

Ich würde jQuery nextUntil ();

empfehlen %Vor%     
Ilya 09.01.2015 10:31
quelle

Tags und Links