亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery .tmpl() 用法示例介紹

2019-11-20 14:14:58
字體:
來源:轉載
供稿:網友

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

這些情況下,動態請求返回的數據一般不是已拼好的 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}}:提供循環邏輯,$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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久av| 成人福利网站在线观看| 亚洲精品日韩av| 亚洲女人被黑人巨大进入al| 成人免费网站在线看| 欧美激情亚洲精品| 亚洲国产91精品在线观看| 日韩av在线播放资源| 中文字幕欧美视频在线| 在线看日韩欧美| 久久久精品欧美| 亚洲精品中文字幕女同| 欧美高清视频一区二区| 97香蕉超级碰碰久久免费的优势| 久久久噜噜噜久久中文字免| 欧美人与性动交a欧美精品| 最近免费中文字幕视频2019| 91免费看国产| 91在线中文字幕| 热99在线视频| 欧美激情视频一区| 亚洲欧美另类中文字幕| 亚洲人成在线电影| 国内精品视频久久| 日韩精品视频免费专区在线播放| 精品久久香蕉国产线看观看gif| 亚洲欧洲国产伦综合| 色天天综合狠狠色| 日韩精品有码在线观看| 欧美日韩亚洲一区二区| 亚洲午夜av电影| 亚洲一区999| 日韩欧美在线视频观看| 日韩在线观看你懂的| 亚洲欧美日韩另类| 97国产精品免费视频| 欧美激情亚洲综合一区| 国产精品美女在线| 国产欧美亚洲视频| 国产精品96久久久久久| 欧美放荡办公室videos4k| 亚洲男人第一网站| 555www成人网| 6080yy精品一区二区三区| 深夜福利91大全| 成人在线观看视频网站| 国产小视频91| 久久精品91久久久久久再现| 中文字幕免费国产精品| 国产欧美日韩91| 九九九久久久久久| 91国偷自产一区二区三区的观看方式| 久久久成人的性感天堂| 一本色道久久综合狠狠躁篇怎么玩| 亚洲国产成人久久综合| 日韩精品免费在线播放| 国产精品美女免费| 亚洲a级在线播放观看| 国产在线高清精品| 亚洲人午夜色婷婷| 国产日韩亚洲欧美| 亚洲天堂男人天堂| 92国产精品久久久久首页| 日韩在线观看免费高清| 亚洲久久久久久久久久| 夜色77av精品影院| 久久久久久久久国产精品| 国产精品丝袜一区二区三区| 美女精品视频一区| 美女久久久久久久| 亚洲无限乱码一二三四麻| 亚洲人av在线影院| 91精品国产自产在线观看永久| 国产亚洲美女精品久久久| 欧美乱人伦中文字幕在线| 亚洲视频欧洲视频| 亚洲人免费视频| 国语自产精品视频在线看抢先版图片| 一区二区av在线| 日韩中文字幕亚洲| 97在线看福利| 国产97色在线|日韩| 91精品久久久久久久久久久| 精品国产老师黑色丝袜高跟鞋| xxxxxxxxx欧美| 亚洲变态欧美另类捆绑| 亚洲精品欧美日韩专区| 国产一区玩具在线观看| 国产精品高精视频免费| 国产视频精品va久久久久久| 国产美女久久精品香蕉69| 日本一区二区不卡| 欧美日韩在线免费| 国产福利成人在线| 亚洲午夜精品久久久久久久久久久久| 亚洲精品久久久一区二区三区| 成人激情视频在线观看| 久久久久久91| www.日韩系列| 国产日韩欧美在线| 久久久久久综合网天天| 亚洲欧美在线x视频| 91久久精品国产91性色| 欧美日韩中文在线观看| 清纯唯美日韩制服另类| 91亚洲国产成人精品性色| 亚洲情综合五月天| 久久久久国色av免费观看性色| 国产精品2018| 日韩hd视频在线观看| 久久影院资源站| 成人久久一区二区三区| 九九热精品视频| 欧美主播福利视频| 亚洲国产美女精品久久久久∴| 久久久精品国产一区二区| 欧美性生交xxxxx久久久| 国产主播喷水一区二区| 亚洲精品一区在线观看香蕉| 91精品久久久久久| 久久人人看视频| 久久国产精彩视频| 精品成人av一区| 日韩免费在线看| 国产v综合v亚洲欧美久久| 欧美另类69精品久久久久9999| 欧美激情精品久久久久久免费印度| 亚洲人成在线播放| 日韩精品免费综合视频在线播放| 91成人在线视频| 国产视频丨精品|在线观看| 欧美区二区三区| 亚洲成av人影院在线观看| 欧美色图在线视频| 18久久久久久| 亚洲欧美激情四射在线日| 成人性生交大片免费观看嘿嘿视频| 97精品国产aⅴ7777| 精品视频中文字幕| 成人在线观看视频网站| 久久精品美女视频网站| 日本成人在线视频网址| 欧美激情精品久久久久| 日韩精品在线观看网站| 国产精品一区专区欧美日韩| 亚洲肉体裸体xxxx137| 午夜精品三级视频福利| 日本精品免费一区二区三区| 久99久在线视频| 97在线视频观看| 国产日韩视频在线观看| 欧美黄色免费网站| 91精品视频在线免费观看| 亚洲乱亚洲乱妇无码| 91产国在线观看动作片喷水| 久久久久亚洲精品成人网小说| 欧美精品一区二区三区国产精品| 欧美成人精品激情在线观看| 国产精品高清在线观看| 超在线视频97| 国产亚洲人成网站在线观看| 色播久久人人爽人人爽人人片视av| 国产视频久久久久久久| 日韩精品一区二区三区第95|