So finden Sie alle numerischen Klassen jQuery

8

Gibt es eine Möglichkeit, alle numerischen Klassen mit jQuery zu finden?

Ich habe Elemente mit den folgenden Klassen:

%Vor%

Aber ich benutze jQuery ziehbare ui. Also sind diese Platzhalter ziehbar, und diese numerischen Klassen werden zufälligerweise in zufälliger Reihenfolge sein (zB 3, 0, 2, 1) und passen nicht mehr zu index , wenn ich die Funktion .each verwende.

Bei der Seitenladung haben die Elemente also grundsätzlich die Reihenfolge 0, 1, 2, 3, ... (basierend auf der Anzahl der Ergebnisse in der Datenbank).

Sie können herumspielen und dies wird zu einer zufälligen Reihenfolge führen (0, 3, 2, 1, ...). Aber es gibt einen Standardknopf. Mit dieser Schaltfläche können sie alle dort ausgeführten Aktionen rückgängig machen und die Standardreihenfolge zurücksetzen.

Ich habe Folgendes versucht, aber das hat nicht funktioniert, da index nicht mit der numerischen Klasse übereinstimmt, wenn sie herumspielen (was sie offensichtlich tun werden).

%Vor%

Jede Hilfe wird sehr geschätzt !!

    
Jeroen Bellemans 08.10.2015, 08:34
quelle

2 Antworten

4

Wie in den Kommentaren erwähnt, sollten Sie das Attribut data-* verwenden, um den Index zu speichern. Wenn das nicht möglich ist, können Sie den numerischen Klassennamen aus der classList extrahieren.

  1. Sie können sort verwenden, um die Elemente
  2. zu sortieren
  3. Um den numerischen Klassennamen aus dem Element zu extrahieren, können Sie regex, /\b(\d+)\b/ verwenden.
  4. Die sortierte Liste kann dann auf den unsortierten Elementen
  5. ersetzt werden

Demo

%Vor% %Vor%

Verwenden von data-index

%Vor% %Vor% %Vor%
    
Tushar 08.10.2015, 08:39
quelle
0

Zusätzlich zu Tushars Antwort und dem Kommentar von Niet the Dark Absolus folgt hier, wie Sie es mit einem Datenattribut machen würden. Wenn Sie können, sollten Daten-Attribute wirklich bevorzugt werden, anstatt numerische Klassen zu verwenden.

%Vor% %Vor% %Vor%
    
Quentin Roy 08.10.2015 08:51
quelle

Tags und Links