HTML-Elemente nach Datenattribut in jQuery gruppieren und zählen

7

Ich versuche, jede Instanz eines Datenattributs mit jQuery aus der Anzahl der Vorkommen jedes Attributs auf einer Seite in eine Liste zu gruppieren. Ähnlich wie Gruppierungen oder Tags in einem Nachrichtenbereich.

Ich möchte zum Beispiel so etwas erstellen:

  • Kategorie 1 (5)
  • Kategorie 2 (3)
  • Kategorie 3 (1)

von diesem HTML:

%Vor%

Wie kann ich dies in jQuery erreichen? Ist es überhaupt möglich?

    
mmmoustache 09.03.2013, 19:22
quelle

5 Antworten

12

Es ist möglich, dieses jsFiddle , das ich erstellt habe, zu überprüfen.

%Vor%     
Mr.Pohoda 09.03.2013, 19:55
quelle
4
%Vor%

Beispiel

    
Andreas 09.03.2013 19:43
quelle
2

Mag schmutzig sein, aber es ist, was ich herausgefunden habe:

%Vor%

Und, Geige .

    
hjpotter92 09.03.2013 19:46
quelle
1

Ein Ansatz besteht darin, jQuerys jede Methode zu verwenden, um jeden der Abschnitte in das zuvor von Ihnen definierte Array zu laden. Richten Sie Ihre Bedingungen innerhalb jeder Methode ein, sammeln Sie die Daten und machen Sie mit jeder Liste, was das Herz begehrt.

Mit dieser Methode können Sie für jede Methode so viele Variablen festlegen, nach denen gesucht werden soll. Wenn beispielsweise ein anderes Attribut in jedem li-Element überprüft werden soll, können Sie das tun und weitere Listen erstellen.

Die console.log unten zeigt Ihnen einfach, was in jedem von Ihnen definierten Array gespeichert ist. Viel Glück!

Und eine schnelle jsFiddle Demo.

%Vor%     
blackhawk 09.03.2013 19:41
quelle
0

Wenn das Datenattribut in span oder div in <tr> ist, müssen Sie find verwenden. Find ist im Hinblick auf die DOM-Suche teurer. Es ist besser, einfach eine Klasse für die Elemente hinzuzufügen, in denen Sie ein Datenattribut haben und durchschleifen und Informationen erhalten.

%Vor%     
Furqan Freed 12.10.2016 06:03
quelle

Tags und Links