50 votes

Obtenir un attribut de données jquery vs javascript

J'ai un attribut de données personnalisé défini par défaut :

data-equipment="0"

Si je le change avec jquery en utilisant .data()

$(this).data("equipment", 10)

et ensuite utiliser le getAttribute()

this.getAttribute("data-equipment")

j'obtiens l'ancienne valeur (0) et non la nouvelle (10). Mais si j'utilise

$(this).data("equipment") j'obtiens la nouvelle valeur (10).

Est-ce que c'est censé fonctionner comme ça ou est-ce que je rate quelque chose ?

Merci !

45voto

Esailija Points 74052

.data() n'opère pas sur les attributs de données mais dans le cache interne de jQuery. Initialement, si aucun enregistrement n'est trouvé dans le cache, les données sont lues à partir d'un fichier data- attribut s'il en existe un, mais c'est la fin de leur coopération.

S'il opérait sur les attributs, il serait inutile à son objectif car les valeurs des attributs doivent être des chaînes de caractères.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X