Использование метода .data () в jQote - шаблонном плагине на стороне клиента - PullRequest
2 голосов
/ 06 января 2011

В течение последних нескольких недель я использовал 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

1 Ответ

1 голос
/ 09 апреля 2011

Функция .data () в JQuery работает с элементами данных html5.

Значение

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

То же, что и

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

Подробнее об элементах данных html5 можно прочитать по адресу http://html5doctor.com/html5-custom-data-attributes/

И еще о функции данных JQuerys на http://api.jquery.com/jQuery.data/

...