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