2 votes

Utilisation de la méthode .data() dans jQote - plugin de création de modèles côté client

Depuis quelques semaines, j'ai utilisé jQote - Modélisation côté client pour générer des fragments html en cours d'exécution.

Pendant des mois, j'ai utilisé les attributs dom comme id, class, alt pour stocker des données critiques.

Maintenant, j'ai appris que .data() en jquery pour stocker et récupérer des données.

Dans tout mon projet, je génère des fragments html de manière dynamique en utilisant des modèles.

J'ai maintenant besoin de savoir comment utiliser .data() dans ces modèles de manière dynamique et stocker les données critiques dans tout élément créé de manière dynamique.

Le code du template js est comme ceci,

var template = templateCache.idOfTheTemplate; // say its a <li>
for(var i = 0; i < length; i ++){
$("#ulID").jqotepre(template, data);
}

Modèle :

<script id="idOfTheTemplate" type="text/template">
<li id="<%=this.id%>">//here i want to use .data() and store the id with different key
<a id="<%=this.id%>" href="#"><%=this.linkName%></a>
</li>
</script>

Solution :

 $("#ulID").jqotepre(template, data);

Après l'exécution de cette ligne, cet élément était disponible dans le DOM.

Donc, tu peux juste faire ça,

$("#ulID").jqotepre(template, data);
$('#' + data.id).data('liInfo', data);//data.id is the ID of the li element in the DOM

1voto

Peeter Points 4580

La fonction .data() de JQuery fonctionne sur les éléments de données html5.

Signification

<li id="myId" data-food="value" > 

Est le même que

$("#myId").data('food', 'value');

Vous pouvez en savoir plus sur les éléments de données html5 à l'adresse suivante http://html5doctor.com/html5-custom-data-attributes/

Pour en savoir plus sur la fonction de données de JQuerys, rendez-vous à l'adresse suivante http://api.jquery.com/jQuery.data/

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