2016-07-06 8 views
-2

I Datensatz-Attribut mit folgenden:Suchen Sie ein Element basierend auf einem Datenattributwert. Syntax Ausgabe

jQuery('.question').data('status', status_value); // status_value can be wrong or correct 

Jetzt habe ich zwei Zeilen gehen einer nach dem anderen

jQuery('.question').data('status') // returns value wrong or correct, e.g. data-attribute 'status' exists and filled with value 
jQuery(".question[status='wrong']") // returns undefined 

Warum die verkürzte Syntax nicht funktioniert?

Meine Aufgabe ist es, das Element zu erhalten, die Daten-Attributwert als „falsch“

+2

, warum Menschen die html in der Frage Dump kann nicht nur, warum ? – madalinivascu

+1

Wenn es ein Datenattribut ist, sollte der Selektor: '$ (". Question [data-status = 'wrong'] ")' Obwohl ich nicht sehe, wie etwas 'nicht verfügbar' zurückgeben würde. Sicher sollte es "null" oder "undefiniert" sein. Mehr Code würde hier sehr helfen, wie @madalinivascu sagt. –

+0

Nur FYI, dataSet und 'data-*' Attribut werden nicht mehr zugeordnet, sobald DOM geladen ist. Aber ich denke, das hat nichts mit Ihrer Frage zu tun ... –

Antwort

0

jQuery hat („Frage [Daten-Status =‚falsch‘]“), um alle Elemente auszuwählen, die das Attribut gesetzt haben zu Unrecht, aber im Code jQuery('.question').data('status', status_value); Sie das Datenobjekt des dOM-Knoten nicht das Attribut setzen, setzt das Attribut attr()

jQuery('.question').attr('data-status', status_value);

+0

Danke für Sie beantworten, aber es hat nicht funktioniert. Bitte werfen Sie einen Blick auf meine aktualisierte Frage, vielleicht mehr Informationen können Ihnen den Hinweis geben. –

+0

der zweite syintax ist ein Selektor, Sie wählen alle Elemente, die das status-Attribut zu falsch haben – madalinivascu

+0

Ja, genau, und es wählt kein Element, während das Element vorhanden ist (es wird von der ersten Zeile überprüft). –

Verwandte Themen