我正在使用插件jquery-tmpl。在运行模板后,是否可以指定回调?我想做类似的事情
<script id='itemTemplate' type='text/html'>
<li class="item" id=${timestampMs}>
<span class="content">${content}</span>
</li>
${processItem($('#' + timestampMs))}
</script>
processItem
对刚刚生成的<li>
元素执行某些操作。但是,按照其编写的内容,该元素在调用processItem
时不存在。这是我运行模板的方式:
// Make the AJAX call to the service
$.ajax({
dataType: "json",
url: "/getItems",
success: function(data) {
// fill out template from json
$('#itemTemplate').tmpl(data).appendTo('#container');
}
});
谢谢!
最佳答案
调用.tmpl后,您可以对节点进行操作,因此可以执行以下操作:
$.ajax({
dataType: "json",
url: "/getItems",
success: function(data) {
// fill out template from json
$('#itemTemplate').tmpl(data).each(function (index) {
processItem($(this))
}).appendTo('#container');
}
});
这与您的解决方法类似,但是您不需要重新选择项目,并且应该能够链接呼叫。