JS標簽中有時候會看見<script type="text/tmplate" >,大概就是一個放置模板的地方,而這些東西並不顯示在頁面
在js里面,經常需要使用js往頁面中插入html內容。比如這樣:
var number = 123;
$('#d').append('<div class="t">'+number+'</div>')
如果html很短還好說,但是遇到描述里面的這么大段,直接用字符串存儲會很困難,因為不光要處理單引號,還需要很多「+」號把字符串一個個連接起來,十分的不方便。
<script>設置type="text/template",標簽里面的內容不會被執行,也不會顯示在頁面上,但是可以在另一個script里面通過獲取插入到頁面中。這樣就把大段的HTML操作從js里面分離開了。
<input type="button" id="btn" value="顯示我" />
<script type='text/template' id="demo1">
<div class="videojs-hero black-background-color">
<span class="err_message">
<p style="text-align:left">抱歉×_×播放出錯了</p>
<p></p>
<p style="text-align:left">1.請檢查您的網絡並刷新頁面重試 </p>
<p style="text-align:left">2.請檢查您的PC機是否沒有安裝Flash,下次記得要安裝哦^_^</p>
</span>
</div>
</script>
<script>
function createErrorOverlay(){
var overlay=document.createElement('div');
overlay.className='box';
overlay.innerHTML=document.querySelector('#demo1').innerHTML;
document.getElementsByTagName('body')[0].appendChild(overlay);
}
document.getElementById('btn').onclick= createErrorOverlay;
</script>

