J'ai le code suivant:
alert($embellishment.data("embellishmentId"));
alert($embellishment.attr("data-embellishmentId"));
La première alerte renvoie undefined
, tandis que la deuxième alerte renvoie un entier, 3
.
J'utilise la version 1.7.2 de jQuery (data
a été ajouté avec la version 1.4 je crois)
Pourquoi est-ce? Dois-je utiliser data()
du tout s'il ne renvoie pas les bonnes valeurs?
D'ACCORD. J'ai trouvé le problème en interprétant docs jQuery .
Lorsque vous écrivez:
$embellishment.data("embellishmentId");
il est géré par jQuery comme attribut composé:
<div data-embellishment-id="3"></div>
Donc, pour résoudre le problème, vous pouvez utiliser des minuscules dans la clé de données, sinon cela ne fait que traiter les différents attributs.
<!-- HTML -->
<div data-embellishmentid="3"></div>
// JavaScript
$embellishment.data("embellishmentid");