jquery set data attr

Lesezeit: 3 Minuten

HTML

<div id="you" data-you="Hello mean">super</div>

ist #you html element change data-you Attribut

console.log($("#you").data("you")); // Hello mean

$("#you").attr("data-you", "yes change you atribute");

console.log($("#you").data("you")); // Hello mean | does not change.

Das Attribut “data-you” ändert sich nicht, wenn ich ändere. Wie kann ich das machen?

Danke.

Benutzer-Avatar
Raj Nathani

Es wurde bereits eine Antwort als richtig ausgewählt, aber es scheint, als würde keine der Antworten klar und präzise erklären, was passiert.
Also lass mich das mal ausprobieren:

$(element).data(key, value) nicht Ändern Sie die HTML5-‘data-*’-Attribute des Elements, jQuery speichert den Schlüsselwert intern (in jQuery.cache).
Als Ergebnis, wenn Sie anrufen $(element).data(key) Sie erhalten, was intern von jQuery gespeichert wird.

Um deine Frage hier zu beantworten:

Da Sie suchen, um das zu ändern data-you Attribut Ihres HTML-Tags müssen Sie stattdessen das verwenden attr() Methode

Daher:

console.log($("#you").attr("data-you")); // Hello mean

$("#you").attr("data-you", "yes change you atribute");

console.log($("#you").attr("data-you")); // The data-you attribute has been changed.

  • Falls jemand interessiert ist, die Möglichkeit, auf HTML5 zuzugreifen data- Attribute wurden in jQuery Version 1.4.3 hinzugefügt. Davor war es nur für die interne Datenspeicherung, die mit einem Element verbunden ist, und es ist wirklich immer noch für die interne Datenspeicherung, mit der neuen Funktion, dass Sie einige Daten zunächst mit einem HTML5 laden können data- Attribut.

    – Matt Browne

    22. Juni 2013 um 1:50 Uhr


  • Ihr Codeausschnitt ist genau derselbe wie der in der Frage, außer dass Sie behaupten, dass das data-you-Attribut geändert wurde. Wenn ich dies tue, wurde das Attribut nicht geändert. Wollten Sie den Ausschnitt aus Yaşar İÇLİs Antwort verwenden?

    – Gerbus

    29. Juni 2013 um 6:19 Uhr


  • das Code-Snippet enthält attr anstatt data was in dem von den anderen angegebenen Code nicht der Fall ist. Bitte schau dir diese Geige an: jsfiddle.net/NneCY und beobachten Sie die Konsolenprotokolle. Danke.

    – Raj Nathani

    29. Juni 2013 um 7:33 Uhr

  • console.log($("#you").attr("data-you")); wurde in der letzten Zeile eingefügt, um anzuzeigen, dass das Attribut hat nicht geändert. Bitte versuchen Sie, Gerbus zu verstehen, mit dem .data Methode eins ändert NICHT das Attribut, sondern den internen Speicher in jquery des Elements. Die Frage und die Antworten von Yaşar İÇLİ beziehen sich jedoch auf die des Elements Attribut. Überprüfen Sie schließlich diese jsfiddle.net/J2mzS/1, um zu verstehen, warum Yasars Lösung das Attribut nicht wirklich ändert.

    – Raj Nathani

    30. Juni 2013 um 2:46 Uhr

  • +1 Die einzige Antwort, die korrekt und vollständig erklärt ist, sollte die akzeptierte Antwort sein. So viel Verwirrung wird immer noch durch die Tatsache verursacht, dass jQuery data() und HTML ‘data-xyz’ zwei völlig unterschiedliche Methoden zum Speichern von Daten sind – wie aus den Kommentaren hervorgeht.

    – Akarlon

    16. Mai 2014 um 0:40 Uhr


attr() Und Sie müssen die data()-Methode nicht ändern.

Versuchen Sie es auf folgende Weise:

console.log($("#you").data("you")); // Hello mean

$("#you").data("you", "yes change you atribute"); // yes change you atribute

console.log($("#you").data("you")); //  yes change you atribute

Beispiele für Daten
http://api.jquery.com/data/​​​​​​

  • Wenn jemand die erste Zeile der obigen Antwort verwirrend findet, überprüfen Sie bitte meine Antwort unten.

    – Raj Nathani

    22. Juni 2013 um 1:43 Uhr

Auf Ihrer gleichen Logik, um das Ergebnis zu sehen; Veränderung data zu attr

console.log($("#you").attr("data-you"));

Verweisen LIVE-DEMO

Benutzer-Avatar
Liam

Versuche dies:

$("#you").data("you", "yes change you atribute");

Für weitere Informationen ==> So erhalten und setzen Sie Datenattributwerte aus HTML-Elementen jQuery – Tutsmake

Mit der folgenden Syntax können Sie ein Attribut und Werte festlegen.

$(selector).attr(attribute,value);  

Für Set data Attribute value By Example

$('#myClass').attr("data-id",50); 

Benutzer-Avatar
Frag Nilesh

$("#you").attr("data-you","New Value");

1011550cookie-checkjquery set data attr

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy