Wie man über Kinder mit for-Schleife iteriert

8

Ich möchte über alle childs des Rückgabewerts einer jQuery .children() wie folgt iterieren:

%Vor%

Was muss ich in die Zeile 3 anstatt in __ schreiben, um auf das i-te Kind zuzugreifen?

Ich möchte das, weil ich auf das (i-1) -te und (i + 1) -te Kind in der Schleife zugreifen möchte, so:

%Vor%

Ich nehme also an, dass die Funktion each() nicht funktioniert.

    
user1027167 22.03.2012, 09:36
quelle

5 Antworten

14

childs ist ein JavaScript-Array . Sie greifen also auf Objekte innerhalb des Arrays nach childs[indexOfElement] zu. In deinem Fall childs[i] .

%Vor%

und

%Vor%

ABER : Ihr Code hat einen Fehler. Das Element aus der Child-Sammlung ist kein jQuery-Objekt. Es ist nur ein DOM-Element. Sie müssen sie daher in $(...) einbinden, um jQuery-Funktionen zu verwenden. Dein Code wird also:

%Vor%

PS. Es sollte children heißen. :)

    
Strelok 22.03.2012, 09:42
quelle
2

Wäre es nicht einfacher mit diesem Selektor Ссылка ?

    
slash197 22.03.2012 09:43
quelle
2

Sie können die Funktion each () verwenden und "this" verwenden, um das aktuelle Objekt zu erhalten. Dann können Sie die Funktionen next () und prev () anstelle von i + 1 bzw. i-1 verwenden. Ich habe den Code nicht getestet, sodass er funktioniert oder nicht. hoffentlich zeigt in die richtige Richtung :)

%Vor%     
turpachull 22.03.2012 09:46
quelle
1

Die Funktion each() funktioniert, sehen Sie sich das an:

%Vor%

Das ändert die Breite und fügt den Index als Pixel bei jeder Iteration hinzu - nur um zu demonstrieren, wie man den Index erhält.

    
MrCode 22.03.2012 09:46
quelle
1

Verwenden Sie .eq () , um den angegebenen Index des übereinstimmenden dom-Elementsatzes zu erhalten.

%Vor%

und der andere einfache Ansatz besteht darin, dies ohne Verwendung von for-Schleifen zu erreichen .each ()

%Vor%     
Niranjan Kala 22.03.2012 09:55
quelle