Alle Daten werden in einer Eigenschaft des Objekts jQuery
mit dem Namen cache
gespeichert. Protokollieren Sie den Inhalt von $.cache
in Ihrer Konsole, um alle Daten und Ereignisse anzuzeigen, die mit einem beliebigen DOM-Element verknüpft sind.
Die Art und Weise, wie jQuery ein DOM-Objekt mit einem Objekt in diesem Cache verknüpft, geschieht durch Manipulation des DOM-Objekts. Sagen wir von
<input type="text" value="hello" />
, die einen Datenschlüssel hat den Namen „foo“
$(e).data("foo", "bar");
Jetzt jQuery unterhält eine zufällige Zeichenfolge des Formulars jQuery<current time in ms>
zum Beispiel jQuery1291790929680
, die auch zugänglich ist, ein Eingangselement haben $.expando
. jQuery fügt diese expando-Zeichenfolge als Schlüssel für jedes DOM-Objekt ein, dem ein Datenelement oder ein Ereignis zugeordnet ist. So ist das DOM-Objekt für das obige Eingangselement wird diese enthalten EXPANDO Schlüssel mit einem gewissen ganzzahligen Wert wie:
jQuery1291790929680: 4
4 ist nur ein beliebige Beispiel, aber diese Zahl bezeichnet einen Index in dem $.cache
Objekt, wobei die zugehörigen Daten und Ereignisse für dieses DOM-Objekt werden gespeichert. Also diese Informationen gegeben, die Daten des oben Eingangselement abzurufen, können wir indirekt schreiben:
$.cache[4]["foo"]
die „bar“ zurückgeben soll, die eine indirekte Art und Weise $(e).data("foo")
des Schreibens.
Ein illustrated example des oben Unsinn :)
es auf der Client-Seite nur dann gespeichert wird, war ich jquery Daten und jquery Metadaten-Plugins unter Verwendung der Daten retrive und lief nie in jedes Problem – kobe