.data()

Mit der Methode .data() können wir Daten auslesen, die zuvor mit DOM-Elementen verknüpft waren. Wir können mehrere unterschiedliche Werte für ein einzelnes Element einzeln oder als Set abrufen:

1
2
3
4
5
6
7

Der Aufruf von .data() ohne Parameter gibt ein JavaScript-Objekt zurück, das jeden gespeicherten Wert als Eigenschaft enthält. Das Objekt kann direkt verwendet werden, um Datenwerte abzurufen (beachten Sie jedoch, dass Eigenschaftsnamen, die ursprünglich Bindestriche enthielten, wie unten beschrieben geändert wurden).

Seit jQuery 3 wird jede Zwei-Zeichen-Folge von „-“ (U+002D) gefolgt von einem ASCII-Kleinbuchstaben in einem Schlüssel durch die Großbuchstabenversion des Buchstabens ersetzt, in Anlehnung an die HTML-Datensatz-API. Eine Anweisung wie $( "body" ).data( { "my-name": "aValue" } ).data(); gibt { myName: "aValue" } zurück.

HTML5 data-* Attribute

Seit jQuery 1.4.3 werden data-* Attribute verwendet, um jQuery-Daten zu initialisieren. Die data-*-Attribute eines Elements werden beim ersten Aufruf der data()-Methode abgerufen und danach nicht mehr verändert (alle Werte werden von jQuery intern gespeichert).

Es wird versucht, den String-Wert des Attributs in einen JavaScript-Wert umzuwandeln (dazu gehören Booleans, Zahlen, Objekte, Arrays und Null). Eine Zeichenkette wird nur dann in eine Zahl umgewandelt, wenn sich dadurch ihre Darstellung nicht ändert (z. B. wird die Zeichenkette „100“ in die Zahl 100 umgewandelt, aber „1E02“ und „100.000“ werden als Zeichenketten belassen, da ihr numerischer Wert von 100 zu „100“ serialisiert wird). Wenn eine Zeichenkette mit ‚{‚ oder ‚[‚ beginnt, wird jQuery.parseJSON verwendet, um sie zu analysieren; sie muss einer gültigen JSON-Syntax folgen, einschließlich der Namen von Eigenschaften in Anführungszeichen. Eine Zeichenkette, die nicht als JavaScript-Wert geparst werden kann, wird nicht konvertiert.

Um einen data-*-Attributwert als unkonvertierte Zeichenkette abzurufen, verwenden Sie die Methode attr().

Seit jQuery 1.6 werden Bindestriche in data-*-Attributnamen in Anlehnung an die HTML-Datensatz-API verarbeitet.

Bei folgendem HTML-Beispiel:

1

Die folgenden Vergleiche sind alle wahr:

1
2
3
4

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.