首先,你要明白jquery.temp.js是做什么的,此處略。
------
1.問題的產(chǎn)生
我們通常這樣使用jquery.temp.js
<script id="tmpl0" type="text/x-jquery-tmpl">
<div>${name}</div>
</script>
$("#temp0").tmpl(list).appendTo('#container');
<pre name="code" class="javascript"><pre name="code" class="javascript"> list = [{
name: '111'
}, {
name: '222'
}];
看這篇文章的都懂的。
但是如果有時(shí)候name的值不是普通的字符串,比如就是“<a>點(diǎn)擊我</a>”這樣的字符串,而且你并不想在瀏覽器上顯示“<a>點(diǎn)擊我</a>”,而是想要顯示“點(diǎn)擊我”
(專業(yè)點(diǎn)說就是對(duì)這個(gè)字符串不編碼進(jìn)行輸出)
這要怎么辦呢?
------
2.問題的解決
其實(shí) jquery.tmpl.js有不止
<pre name="code" class="html"><div>${name}</div>
這一種寫法,還有
<div>{{html name}}</div>
</pre><p>其中第一種與第三種是等價(jià)的。</p><p>第二種,即</p><pre name="code" class="html"><div>${name}</div>
這種寫法是不會(huì)對(duì)字符串進(jìn)行編碼的,然后就可以實(shí)現(xiàn)我們想要的了。
=====
這是從github上的jquery.tmpl.js項(xiàng)目源碼中的demo中找到的信息。
項(xiàng)目地址:https://github.com/BorisMoore/jquery-tmpl/tree/master/demos
具體demo:jquery-tmpl-masterdemosstep-by-step