Ermitteln Sie die Position eines Elements in einer Liste

9

Ich suche nach der Position (d. h. der Reihenfolge) eines angeklickten Elements in einer Liste mit jQuery.

Ich habe:

%Vor%

Beim Klicken auf <li> möchte ich die Position innerhalb einer Variablen speichern. Wenn ich zum Beispiel auf Element 3 geklickt habe, würde "3" in einer Variablen gespeichert werden.

Wie konnte dies erreicht werden?

Vielen Dank für Ihre Hilfe!

    
Simon 12.01.2010, 02:30
quelle

3 Antworten

29

Verwenden Sie index() :

%Vor%

Die Indizes beginnen bei 0.

    
cletus 12.01.2010, 02:32
quelle
1

Eine effizientere Version von Cletus 'Antwort, die keine Suche nach Eltern und Kindern erfordert:

%Vor% %Vor%
    
K Scandrett 22.05.2017 01:28
quelle
0

Vorherige Antwort funktioniert gut. 2 Ergänzungen:
Wenn Ihre Liste Listenelemente von <a> enthält, zum Beispiel:

%Vor%

Dann müssen Sie var index = $(this).parent().parent().children().index(this);

verwenden

Auch im obigen Beispiel enthält die Liste andere Elemente wie <hr /> , da Sie einen Filter in var index = $(this).parent().parent().children("li").index(this); verwenden können, um Index 2 für "Element 3" anstelle von Index 4 zu erhalten.

    
Jan 10.05.2015 21:20
quelle

Tags und Links