JQuery.data et modifications dynamiques des attributs personnalisés HTML5

Le problème:

JQuery fait l'objet d'attributs personnalisés html5 Les données sont mises en cache.
Dans ma demande, j'ai un formulaire avec un champ qui a un attribut changeant de données personnalisées, et ce comportement spécifique est impératif pour le fonctionnement de la forme.

Ce que nous avons ici:

Il existe un champ de saisie avec un attribut personnalisé par défaut:

<input type="text" name="xxx" data-test="4"> 

Obtenir l'attribut personnalisé

Pour $('input').data() le résultat serait { test="4" }

Modifier l'attribut personnalisé

$('input').attr('data-test','5')

Obtenez l'attribut personnalisé – encore une fois

Pour $('input').data() le résultat SERAITENT { test="4" }

Question

Comment puis-je toujours m'assurer d'obtenir tous les attributs personnalisés REAL, il peut y en avoir plus d'un élément, en utilisant la fonction $.data() ? J'ai essayé le $.removeData() avant chaque extraction, mais il nettoie complètement toutes les données de l'élément afin qu'il ne soit plus accessible.

Vous devez le faire: $('input').data( 'test' , 5 )

Si vous appelez .attr( 'test' , 5 ) vous configurerez un attribut, et vous l' .attr( 'test' , 5 ) comme ceci <input type='text' data-test='4' test='5' />

En tant que note, vous pouvez obtenir des attributs de données spécifiques comme ceci: var test = $('input').data('test');

modifier

Pour supprimer un attribut de données spécifique, vous pouvez le faire: jQuery.removeData( $( 'input' ) , "test" );