Cet article analyse l'utilisation de la mise en cache des données jQuery. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Dans la documentation d'aide de l'API jQuery, jQuery décrit le rôle de la mise en cache des données comme suit : utilisé pour accéder aux données sur un élément sans risque de références circulaires.
1. Définir les données du cache
Utilisez la méthode $(selector).data(name,value) pour définir les données mises en cache pour les objets jQuery. Ces données mises en cache sont stockées dans tous les éléments DOM de l'ensemble d'éléments DOM correspondant.
var $link = $('a'); $link.data('linkType', 'home');
Remarque : $(selector).data(name,value) peut stocker des données dans n'importe quel format sur l'élément DOM correspondant, pas seulement des chaînes.
2. Obtenir les données du cache
À ce stade, un seul paramètre est nécessaire, qui spécifie le nom des données mises en cache.
var linkType = $link.data('linkType'); //'home'
Remarque : si les données du cache lu n'existent pas, la valeur de retour n'est pas définie ; si la collection jQuery pointe vers plusieurs éléments, seules les données du cache correspondantes du premier élément seront renvoyées.
3. Supprimer les données mises en cache
La fonction removeData() peut supprimer les données mises en cache avec un nom spécifié et renvoyer l'objet jQuery correspondant.
//删除缓存数据的同时,返回对应的jQuery对象。 var $a = $link.removeData('linkType');
4. Spécifications d'utilisation du cache de données jQuery
À mesure que le nombre de fois où la fonction data() est appelée augmente, ou en raison d'une mauvaise utilisation, l'objet cache se développera rapidement, affectant finalement les performances du programme.
Par conséquent, lors de l'utilisation de la fonction de mise en cache des données jQuery, les objets du cache doivent être effacés à temps. jQuery fournit la fonction removeData() pour effacer manuellement les données mises en cache. Selon le mécanisme de fonctionnement du framework jQuery, il n'est pas nécessaire de vider manuellement le cache de données dans les situations suivantes.
* Effectuez l'opération remove() sur elem, et jQuery effacera automatiquement le cache qui peut exister sur l'objet.
* Effectuez l'opération empty() sur elem. S'il existe un cache de données pour le sous-élément elem actuel, jQuery connaîtra également le cache de données possible pour le sous-objet.
* La méthode clone() des nœuds de copie jQuery ne copiera pas le cache de données.
J'espère que cet article sera utile à la programmation jQuery de chacun.