我已将数据设置为div元素并将其附加到另一个div元素,
var dt = { id: 0 };
$.template("temp", '<div id="div2" >${id}</div>');
$.tmpl("temp", dt).appendTo("#div1");
工作正常。我将它附加在文档就绪方法中。
我的要求是,它的(div2)点击事件我必须访问dt。
有可能吗?
问题2:我已将此数据设置为很多元素。如何获得这些元素?
提前致谢。
答案 0 :(得分:2)
您可以使用$.tmplItem:
var dt = { id: 222, text: 'My value id 222' };
$.template("temp", '<div class="innerDiv" >${id}</div>');
$.tmpl("temp", dt).appendTo("#div1");
$(document).on('click', '.innerDiv', function() {
// gets the data item associated to the rendered template
var dataItem = $.tmplItem(this);
// dataItem.data holds the data itself
alert(dataItem.data.text);
});
<强> DEMO 强>
对于第二个问题,我不知道如何使用API轻松获取特定模板的渲染列表。
您可以做的是在模板标记中添加data-
属性,以便您轻松检索它们:
$.template("temp", '<div id="div2" data-tmpl="temp">${id}</div>');
然后你可以选择所有具有值为“temp”的属性“data-tmpl”的渲染:
$('[data-tmpl="temp"]')
我已经以这种方式更新了演示。
也许还有其他一些方法,但我熟悉jQuery模板。