2011-01-06 7 views
2

In den letzten Wochen habe ich jQote – client-side templating Plugin verwendet, um HTML-Fragmente in der Laufzeit zu generieren.Verwendung der .data() Methode in jQote - clientseitige Templating Plugin

Seit Monaten verwende ich die Dom-Attribute wie, ID, Klasse, alt, um kritische Daten zu speichern.

Nun habe ich über .data() Methode in Jquery zum Speichern und Abrufen von Daten kennen gelernt.

Überall in meinem Projekt erzeuge ich HTML-Fragmente dynamisch mit Vorlagen.

Jetzt muss ich wissen, wie ich .data() in diesen Vorlagen dynamisch verwenden und kritische Daten in jedem dynamisch erstellten Element speichern kann.

Die Vorlage js-Code ist wie diese,

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

Vorlage:

<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> 

Lösung:

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

Nach dieser Zeile ausgeführt wurde, dass das Element zur Verfügung steht im DOM.

Also, Sie können dies nur tun,

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

I didn nicht mit Client-Vorlagen arbeiten, aber wenn Sie einige Daten in el speichern müssen Zuerst, was Sie brauchen - es finden Sie dieses Element, als Daten an diesem Element speichern. Informationen zum Lesen/Speichern lesen Sie hier -> http://api.jquery.com/jQuery.data/ –

Antwort