Ich habe den folgenden Code:
%Vor%Ich setze einen Haltepunkt in die 3. Zeile und gebe folgendes in die Konsole ein:
%Vor% Wie Sie sehen, ist data-color
des tatsächlichen Elements #ffff00
. Die Methode .data()
von jQuery gibt jedoch #9900ff
zurück, wobei der Wert des data-color
des Elements war, aber geändert wurde (und mit dem Haltepunkt kann ich sehen, dass es sich bereits geändert hat) ).
jQuery liest Datenattribute nur mit .data
durch - das heißt, das Datenattribut wird nur überprüft Beim ersten Zugriff wird darauf zugegriffen (und niemals, wenn der erste Zugriff eine Zuweisung ist).
Intern verwaltet jQuery seinen eigenen Datencache, der ansonsten keine Beziehung zu Datenattributen hat. Dieser interne Cache wird durch die DOM-Datenattribute beim ersten Zugriff eines bestimmten Schlüssels ausgelöst.
Wenn das Ziel immer darin besteht, die DOM-Attribute zu lesen und / oder zu verändern, verwenden Sie stattdessen die Methode .attr
.
Die relevanten Teile von Ссылка sind unten aufgeführt.
%Vor%Siehe auch:
Tags und Links javascript jquery