JQuery-Selektor nach Datenattribut, wenn Daten dynamisch hinzugefügt werden?

8

Ich habe ein ul mit mehreren Items. Ich befülle die Liste dynamisch nach dem Laden der Seite mit jquery. Wenn ich jedes Listenelement hinzufüge, füge ich auch eine "itemID" zu den Daten dieses Elements hinzu, indem ich die Funktion jquery ".data ()" verwende. Etwas wie das:

%Vor%

Später brauche ich einen Selektor, um festzustellen, ob in meiner Artikelliste ein Artikel mit einer bestimmten Artikel-ID vorhanden ist. Zuerst habe ich versucht:

%Vor%

Das hat nicht funktioniert - und bei weiteren Recherchen habe ich festgestellt, dass diese Syntax nur funktioniert, wenn das Datenattribut beim Laden der Seite im DOM gesetzt wurde; Es funktioniert nicht, wenn Sie die ".data" jquery-Methode dynamisch verwenden.

Als nächstes habe ich versucht:

%Vor%

Aus irgendeinem Grund funktioniert das nicht. Wenn ich jedoch einfach $(':data(itemID)') ausfühle, bekomme ich do alle li-Elemente, die in ihren Daten eine itemID enthalten.

Ich weiß, dass das itemID-Attribut richtig gesetzt ist, wenn ich .data() auf dem Listenelement anrufe:

%Vor%

Wie kann ich alle Elemente auswählen, die eine itemID von "123ABC456" in ihren Daten enthalten?

    
froadie 26.07.2012, 14:45
quelle

3 Antworten

8

Ссылка & lt; - jsFiddle Beispiel zeigt Unterschiede mit Daten-Attribut & amp; jquery.data ()

jQuery.data() unterscheidet sich von den HTML5-Daten-NAME-Attributen, nach denen Sie suchen.

Ссылка

jQuery.data () speichert innerhalb des jquery-Elements (diese Daten sind nicht sichtbar). Suche nach [data-itemID] würde funktionieren, wenn innerhalb der tatsächlichen hatte: <li data-itemID="12345"></li> .

Um den tatsächlichen versteckten .data() abzurufen und zu suchen, versuchen Sie:

%Vor%

Hoffe das hilft!

    
Mark Pieszak - DevHelp.Online 26.07.2012, 14:57
quelle
2

Anstelle von

%Vor%

verwenden

%Vor%

Dann können Sie

verwenden %Vor%

als Selektor

    
Ethan Doh 02.06.2015 20:14
quelle
0

Wie wäre es mit der itemID im DOM:

%Vor%     
Barmar 26.07.2012 16:46
quelle

Tags und Links