La valeur d’atsortingbut de données mise à jour par jquery n’est pas visible dans le DOM

Je mets à jour un atsortingbut de données par jQuery, comme:

jQuery('div').data('hidden', 'true'); alert(jQuery('div').data('hidden')); 

La valeur de l’atsortingbut de données a été modifiée et a renvoyé une nouvelle valeur qui est true mais DOM affiche toujours l’ancienne valeur qui est false .

Lorsque vous utilisez .data () pour mettre à jour une valeur de données, il met à jour un object interne géré par jQuery. Il ne sera donc pas mis à jour dans l’atsortingbut data-*

Je me débrouillais tellement autour du pot 🙁 et capable de résoudre le problème. Nous ne pouvons pas atteindre cet objective avec la méthode de données jquery si le code HTML est dynamic et que l’atsortingbut de données a été modifié plus tard après le premier access.

Selon jQuery.data ()

Les atsortingbuts de données sont extraits lors du premier access à la propriété de données, puis ils ne sont plus consultés ni mutés (toutes les valeurs de données sont ensuite stockées en interne dans jQuery).

Donc, ce que j’ai fait est de le changer pour une méthode attr qui ne vous donnera pas la valeur analysée pour un entier, vous devez donc utiliser l’opérande ‘+’ pour convertir comme ceci:

 + myElement.attr('data-index'); 

Remarque: vous devez faire attention, cela convertira le résultat en NaN s’il y a une chaîne dans les données attr. BTW c’est votre choix d’implémentation du code.