jquery.tmpl是jQuery模板插件,http://plugins.jquery.com/tmpl/ (另外还有一个插件dot.js,不依赖与jquery,性能更佳,使用方法大同小异)

在网页中大量使用异步请求数据来更新页面内容非常常见,异步请求返回的内容一般是表现为json格式的数据,因为HTML结构的复杂性,我们在没有使用任何工具下要将json表现格式的数据生成HTML是非常繁琐的,而且容易出错,不好维护。因此通过jquery.tmpl和定义HTML模板可以轻松很多,更利于维护。

Tmpl提供了几种tag:

1,   ${}:等同于{{=}},是输出变量,通过了html编码的。

2,  {{html}}:输出变量html,但是没有html编码,适合输出html代码。

3,  {{if }} {{else}}:提供了分支逻辑。

4,  {{each}}:提供循环逻辑,$value访问迭代变量。

基本使用

1,首先我们需要引用jquery.js和jquery.tmpl.js

2,定义一个模板

3,调用tmpl()方法:$("模板ID").tmpl(data);

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
</head>
<style type="text/css">
#list li {
padding: 8px 0;
line-height: 1.8em;
list-style-type: decimal;
}
</style>
<body>
<ul id="list"></ul>
</body>
</html>
<script type="text/javascript" src='jquery.js'></script>
<script type="text/javascript" src='jquery.tmpl.js'></script>
<!--定义一个User模板-->
<script type="text/template" id='UserTmpl'>
<li>
<span>${NickName}</span>
<span>${Age}</span>
<span>${Gender}<span>
</li>
</script>
<script type="text/javascript">
var users=[{ID:"0001",NickName:"小白",Gender:false,Age:18},{ID:"0001",NickName:"小黑",Gender:true,Age:20}];
$("#list").append($("#UserTmpl").tmpl(users));
</script>

  

{{if }} {{else}}的使用

明显对于性别Gender属性需要使用到{{if}}和{{else}}了

修改一下模板  {{if}}后面加的就是符合if里面条件后要输出的HTML,  使用{{if}}需要有结束标记{{/if}}

 <li>
<span>${NickName}</span>
<span>${Age}</span>
{{if Gender}}
<span>男</span>
{{else}}
<span>女</span>
{{/if}}
</li>

{{each}}使用

<script id="each" type="text/x-jquery-tmpl">
<li>
<span>${Title}</span>
<span>Languages:</span>
<ul>
{{each Languages}}
<li>${$value.Name}</li>
{{/each}}
<ul>
</li>
</script>
<script type="text/javascript">
   var movies = [{Title: "Meet Joe Black", Languages: [{ Name: "English" },{ Name: "French" }]}];
  $("#each").tmpl(movies).appendTo('#div_each');
</script>

  

jquery.tmpl的使用的更多相关文章

  1. jquery tmpl 详解

    官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意 ...

  2. artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.

    artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.

  3. jquery.tmpl.js 模板引擎用法

    1.0 引入: <script src="/js/jquery.tmpl.min.js"></script> 2.0 模板: <script type ...

  4. MVC - 11(下)jquery.tmpl.js +ajax分页

    继续 mvc-11(上).dto:http://www.cnblogs.com/tangge/p/3840060.html jquery.tmpl.js 下载:http://pan.baidu.com ...

  5. jquery tmpl遍历

    最近发现大家用模板渲染一些顺带逻辑功能代码块时,用jquery tmpl较多,遇到了一些问题,现在就个人以前研究过的一切常用功能作介绍,主要针对遍历,其它的大家可以自行浏览一起网站,如:http:// ...

  6. jQuery tmpl用法总结

    之前很是头疼循环数据的渲染,搞一大堆的命名,一点点的赋值,很是麻烦,今天学习了一下jQuery插件tmpl,下面抛出一些使用方法,供以后参考: 官方网址:http://web.archive.org/ ...

  7. JQuery.tmpl()的用法

    动态请求数据来更新页面是现在非常常用的方法,现在通过Ajax请求返回的数据更多的是json对象, 为了解决js动态拼接数据这方面的问题,JavaScript 也可以利用模版来解决这些问题,比如基于 j ...

  8. jQuery .tmpl() 用法

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  9. 让jquery.tmpl.js支持index序号

    在写Web程序时,想简单处理会使用JS模板,常用的是Jquery的jquery.tmpl.js插件.整个插件还是比较好用的,后续有机会结合实际应用案例,分享下应用方法. 本次文章想分享的一点是其中的一 ...

  10. jquery.tmpl.min.js--前端实现模版--数据绑定--详解

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

随机推荐

  1. 【Tech】SQL Server2008使用笔记

    1.64位win7系统报错“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”. 解决方法:从这个网址下载和安装一个驱动http://www.microsoft.com/zh- ...

  2. 纯CSS3动画按钮效果

    在线演示 本地下载

  3. php数组函数-array_rand()

    array_rand()函数返回数组中的一个随机键名,或者如果指定函数返回键名不止一个,则返 回一个包含随机键名的数组. array_rand(array,number); array:必需.规定数组 ...

  4. Go sync模块

    // A WaitGroup waits for a collection of goroutines to finish.// The main goroutine calls Add to set ...

  5. uniqueidentifier in SQL becomes lower case in c#

     https://stackoverflow.com/questions/16938151/uniqueidentifier-in-sql-becomes-lower-case-in-c-sharp ...

  6. java学习小笔记(三.socket通信)【转】

    三,socket通信1.http://blog.csdn.net/kongxx/article/details/7288896这个人写的关于socket通信不错,循序渐进式的讲解,用代码示例说明,运用 ...

  7. poj 1061 青蛙的约会 扩展欧几里德

    青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K       Description 两 只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们 ...

  8. js简单工厂

    我以计算器为例写一个简单工厂模式,只完成加减乘除4个计算功能,考虑到其他功能方便日后扩展,遵循开放-封闭原则. 简单工厂类图: 先看一下C#的简单工厂是如何实现的: 定义抽象类Operation,加减 ...

  9. 编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树

    package com.test.tree; import java.util.Iterator; /** * 编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树. * 在每个节点上添加一 ...

  10. Spring Boot入门(二)

    一.Spring Boot项目打包 1.引入maven打包相关插件 2.项目右击run as>Maven clean.run as>Maven install在target文件夹下会生成相 ...