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.
Il existe un champ de saisie avec un attribut personnalisé par défaut:
<input type="text" name="xxx" data-test="4">
Pour $('input').data()
le résultat serait { test="4" }
$('input').attr('data-test','5')
Pour $('input').data()
le résultat SERAITENT { test="4" }
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" );