jQuery模板已经被弃用了一段时间。
我有一些JavaScript对象形式的数据,我希望将其格式化为HTML并附加到DOM。这些天最好的办法是什么?
$('<li>',{id:'my-'+Id}).append($('<span>').text(myText))
?答案 0 :(得分:104)
这就是我在项目中的表现:
在HTML中定义模板:
<script type="text/template" id="cardTemplate">
<div>
<a href="{0}">{1}</a>
</div>
</script>
使用string.format替换变量:
var cardTemplate = $("#cardTemplate").html();
var template = cardTemplate.format("http://example.com", "Link Title");
$("#container").append(template);
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
非常简单,您甚至可以组合模板。
答案 1 :(得分:10)
您一定要尝试Handlebars和/或Mustache
我倾向于使用Handlebars,但语法非常相似。
答案 2 :(得分:9)
Mustache.js非常适合模板化。
答案 3 :(得分:7)
模板一直比尝试手动解析JSON容易得多。由于我做出了贡献,我偏爱json2html,因为它不需要编译模板,只使用JSON和JavaScript。
答案 4 :(得分:0)
我真的不喜欢用javascript构建html元素所以我建议你使用一些模板 您可以找到模板列表和相关问题here。
我过去常常使用jQuery Templates
,这很简单但不再活跃。