欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery .tmpl() 用法示例介紹

 更新時間:2014年08月21日 11:22:43   投稿:whsnow  
解決 PHP 拼數據這方面的問題而有了 Smarty 這些模版,JavaScript 也可以利用模版來解決這些問題,比如基于 jQuery 的 jquery.tmpl

動態(tài)請求數據來更新頁面是現在非常常用的方法,比如博客評論的分頁動態(tài)加載,微博的滾動加載和定時請求加載等。

這些情況下,動態(tài)請求返回的數據一般不是已拼好的 HTML 就是 JSON 或 XML,總之不在瀏覽器端拼數據就在服務器端拼數據。不過,從傳輸量方面來看,返回 HTML 不劃算,而在 web 傳輸方面,現在更多的是使用 JSON 而不是 XML。

瀏覽器端根據 JSON 生成 HTML 有個很苦惱的地方就是,結構不復雜的時候還好,結構一復雜,就想死了,需要很小心很小心地寫出幾乎無法維護的 JavaScript 代碼。

如同為解決 PHP 拼數據這方面的問題而有了 Smarty 這些模版,JavaScript 也可以利用模版來解決這些問題,比如基于 jQuery 的 jquery.tmpl,現在已經被接受為官方的模版插件了。詳細的 API 在 jQuery 的 Templates 里,內置的 demo 也盡情地演示了各種用法。

就我自己的幾次使用,感覺很不錯,用更加直觀方面的 HTML 寫法而不是 JavaScript 拼湊 來寫結構,然后用 JSON 變量來占位的方式來填充數據,代碼看起來好多了。

Tmpl提供了幾種tag:

${}:等同于{{=}},是輸出變量,通過了html編碼的。
{{html}}:輸出變量html,但是沒有html編碼,適合輸出html代碼。
{{if }} {{else}}:提供了分支邏輯。
{{each}}:提供循環(huán)邏輯,$value訪問迭代變量。

jquery tmpl的使用方法:

模板定義:

方法一:

<script id="movieTemplate" type="text/x-jquery-tmpl"> 
<li> 
<b>${Name}</b> (${ReleaseYear}) 
</li> 
</script>

方法二:

function makeTemplate(){ 
var markup='<li><b>${Name}</b> (${ReleaseYear})</li>‘; 
$.template(“movieTemplate”, markup); 
}

DATA:

var movies = [ 
{ Name: "The Red Violin", ReleaseYear: "1998" }, 
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" }, 
{ Name: "The Inheritance", ReleaseYear: "1976" } 
];

Script:

$( "#movieTemplate" ).tmpl( movies ) 
.appendTo( "#movieList" );

實例1:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> 
</head> 
<body> 

<ul class="param-list"></ul> 

<script type="text/x-jquery-tmpl" id="new-param-tmpl"> 
<li rel="${num}"> 
<input type="text" name="key[${num}]" value="${key}" placeholder="key" /> = 
<input type="text" name="value[${num}]" value="${value}" placeholder="value" /> 
<button type="button" class="button small remove-param"><img src="http://mediacdn.disqus.com/1338845651/images/v3/icon/16/69.png" height="12" alt=""/></button> 
<button type="button" class="button small add-param"><span><img src="http://mediacdn.disqus.com/1338845651/images/v3/icon/16/13.png" height="12" alt=""/></button> 
</li> 
</script> 

<script> 
$(function(){ 
function addParam(key, value) { 
var param_list = $('.param-list'); 
var num = param_list.find('li').length; 

// build a template to clone the current row 
var built = $('#new-param-tmpl').tmpl({ 
num: num, 
key: key || '', 
value: value || '', 
}); 
if (key) param_list.prepend(built); 
else param_list.append(built); 

param_list.find('li:not(:last) .add-param').hide(); 
param_list.find('li:last .add-param').show(); 
param_list.find('li:not(:last) .remove-param').show(); 
param_list.find('li:last .remove-param').hide(); 
} 

// bind events 
$('.param-list .remove-param').live('click', function(){ 
$(this).parent().remove(); 
return false; 
}); 
$('.param-list .add-param').live('click', function(){ 
addParam(); 
return false; 
}); 

addParam(); 
})
</script> 
</body> 
</html>

實例2

<ul id="movieList"></ul> 

<script id="movieTemplate" type="text/x-jquery-tmpl"> 
<li><b>${Name}</b> (${ReleaseYear})</li> 
</script> 

<script type="text/javascript"> 
var movies = [ 
{ Name: "The Red Violin", ReleaseYear: "1998" }, 
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" }, 
{ Name: "The Inheritance", ReleaseYear: "1976" } 
]; 

// Render the template with the movies data and insert 
// the rendered HTML under the "movieList" element 
$( "#movieTemplate" ).tmpl( movies ) 
.appendTo( "#movieList" ); 
</script>

相關文章

  • Jquery樹插件zTree用法入門教程

    Jquery樹插件zTree用法入門教程

    這篇文章主要介紹了Jquery樹插件zTree用法入門教程,實例分析了zTree插件的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • jquery文字填寫自動高度的實現方法

    jquery文字填寫自動高度的實現方法

    下面小編就為大家?guī)硪黄猨query文字填寫自動高度的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • JQuery自定義事件的應用 JQuery最佳實踐

    JQuery自定義事件的應用 JQuery最佳實踐

    本文主要介紹JQuery框架里面支持的自定義事件模型,通過實例說明什么時候可以利用事件模型進行面向對象的JS編程,以及利用“帶命名空間的事件處理函數”來避免unbind時影響別的事件訂閱。
    2010-08-08
  • jQuery 選擇器用法基礎入門示例

    jQuery 選擇器用法基礎入門示例

    這篇文章主要介紹了jQuery 選擇器用法,結合實例形式詳細分析了jQuery選擇器的基本功能、使用方法及操作注意事項,需要的朋友可以參考下
    2020-01-01
  • jquery struts 驗證唯一標識(公用方法)

    jquery struts 驗證唯一標識(公用方法)

    本教程將為大家詳細介紹下使用公用方法驗證jquery struts唯一標識,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-03-03
  • Jquery讀取URL參數小例子

    Jquery讀取URL參數小例子

    讀取URL參數的方法各種各樣不過大同小異,下面本文使用jquery來實現讀取URL參數示例,感興趣的朋友可以練練手哦
    2013-08-08
  • jQuery事件綁定.on()簡要概述及應用

    jQuery事件綁定.on()簡要概述及應用

    前幾天看到事件委托的時候,關于live()方法講的不是很詳細,就去搜了一下關于live()和delegate()的,最后看源碼發(fā)現bind()和delegate()都是由on()實現的,感興趣的朋友可以了解下,或許本文對你有所幫助
    2013-02-02
  • 基于Jquery的$.cookie()實現跨越頁面tabs導航實現代碼

    基于Jquery的$.cookie()實現跨越頁面tabs導航實現代碼

    基于Jquery的$.cookie()實現跨越頁面tabs導航實現代碼,需要的朋友可以參考下。
    2011-03-03
  • JS中Array數組學習總結

    JS中Array數組學習總結

    本文主要介紹了JS中Array數組的相關知識。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • jQuery 借助插件Lavalamp實現導航條動態(tài)美化效果

    jQuery 借助插件Lavalamp實現導航條動態(tài)美化效果

    導航條動態(tài)顯示效果借助插件Lavalamp可以輕松實現,以前用animate來實現,效果不是很好
    2013-09-09

最新評論