1.0 引入:
<script src="/js/jquery.tmpl.min.js"></script>
2.0 模板:
<script type="text/x-jquery-tmpl" id="tmpl">
<li>
<h5><a href="/news/Detail/${NewsId}">${Title}</a></h5>
<p><a href="/news/Detail/${NewsId}">${Introduce}</a></p>
<em>${PTime}</em><span>${ReadTimes}</span>
</li>
</script>
3.0 HTML
<ul class="news_ul" id="NewContent"></ul>
//使用模板render html,生成标签
var divImgs = $("#tmpl").tmpl(jsonObj);//ps: jsonObj为ajax异步返回的对象字符串,如asp.net mvc里 Json(List<> ...);
//把标签加入父元素
$("#NewContent").append(divImgs);
一个简单的例子就完成了.
这个是早就知道的.今天写这个是因为一个不常用的方法:
如果json结果里有新闻细节:类似 <p><h3>我是新闻细节</h3></p>.
模板里用 ${...}的语法是渲染出来的是字符串,‘<p><h3>我是新闻细节</h3></p>‘,而不是 为h3的标题.
那么,就要使用第二种语法:
<script type="text/x-jquery-tmpl" id="tmpl">
<li>
<h5>${Title}</h5>
{{html Details}}
</li>
</script>
这么写,得到的结果才是 为h3的 ‘我是新闻细节‘.类似 asp.net mvc中的 @Html.Raw(str);
完毕.