В течение последних нескольких недель я использовал jQote - плагин на стороне клиента для создания фрагментов HTML во время выполнения.
В течение нескольких месяцев я использовал такие атрибуты dom, как,id, class, alt для хранения критических данных.
Теперь я узнал о .data()
методе в jquery для хранения и извлечения данных.
По всему проекту я генерирую фрагменты HTMLдинамически используя шаблоны.
Теперь мне нужно знать, как я могу динамически использовать .data () в этих шаблонах и хранить критические данные в любом динамически создаваемом элементе.
Код js шаблона выглядит так:
var template = templateCache.idOfTheTemplate; // say its a <li>
for(var i = 0; i < length; i ++){
$("#ulID").jqotepre(template, data);
}
Шаблон:
<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>
Решение:
$("#ulID").jqotepre(template, data);
После выполнения этой строки этот элемент был доступен в DOM.
Итак, вы можете просто сделать это,
$("#ulID").jqotepre(template, data);
$('#' + data.id).data('liInfo', data);//data.id is the ID of the li element in the DOM