jQuery-jTemplate.js下载:http://jtemplates.tpython.com/

一 , 简单介绍

它是一个基于jQuery开发的javascript模板引擎。它主要的作用如下:

. 通过JavaScript获取JSON形式的数据;

. 获取一个HTML模板,与数据相结合,生成页面HTML。

二 , 快速上手

先来看一个简单的例子:

<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
<script type="text/javascript" src="jquery-jtemplates.js"></script> <script type="text/javascript">
$(document).ready(function() {
//初始化数据
var data = {
name: '用户列表',
list_id: '编号89757',
table: [
{id: , name: 'Rain', age: , mail: },
{id: , name: "皮特', age: 24, mail: },
{id: , name: "卡卡', age: 20, mail: },
{id: , name: "戏戏', age: 26, mail: },
{id: , name: "一揪', age: 25, mail: }
]
};
// 附上模板
$("#result1").setTemplateElement("template");
// 给模板加载数据
$("#result1").processTemplate(data);
});
</script> <!-- 模板内容 -->
<textarea id="template" style="display:none">
<strong>{$T.name} : {$T.list_id}</strong>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>邮箱</th>
</tr>
{#foreach $T.table as record}
<tr>
<td>{$T.record.id}</td>
<td>{$T.record.name}</td>
<td>{$T.record.age}</td>
<td>{$T.record.mail}</td>
</tr>
{#/for}
</table>
</textarea> <!-- 输出元素 -->
<div id="result1" ></div> 上面代码中,先导入了jQuery.js,然后导入jtemplates.js。 接下来新建了一个data数据的json对象。 var data = {
......
}; 然后在HTMl页面上增加一个 输出元素 和 一个模板元素: 最后在JS给输出元素 附加模板 和 数据。 这样,运行代码后,出现如下图所示界面。 三 , 加载模板 这次把模板放到一个单独的页面中,而不是直接写在页面里。 新建一个template.html,放入以下代码: <strong>{$T.name} : {$T.list_id}</strong>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>邮箱</th>
</tr>
{#foreach $T.table as record}
<tr>
<td>{$T.record.id}</td>
<td>{$T.record.name}</td>
<td>{$T.record.age}</td>
<td>{$T.record.mail}</td>
</tr>
{#/for}
</table> 然后新建一个json文件,名称为cs.json,代码如下: {
name: "用户列表",
list_id: "编号89757",
table: [
{id: , name: 'Rain', age: , mail: },
{id: , name: "皮特', age: 24, mail: },
{id: , name: "卡卡', age: 20, mail: },
{id: , name: "戏戏', age: 26, mail: },
{id: , name: "一揪', age: 25, mail: }
]
} 在jQuery中,可以通过$.ajax()方法来加载 json文件,代码如下: <script type="text/javascript">
$(function(){
$.ajax({
type: "post",
dataType: "json",
url: "cs.json",
success: function(data){
.....
}
});
});
</script> 在success回调函数里,首先需要设置模板,然后需要添加数据。如下代码所示: success: function(data){ // 设置模板
$("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
// 加载数据
$("#result1").processTemplate(data);
}
} 完整代码如下所示: $(function(){
$.ajax({
type: "post",
dataType: "json",
url: "cs.json",
success: function(data){
$("#result1").setTemplateURL("template.html?date="+(+new Date()), null, {filter_data: true});
$("#result1").processTemplate(data);
}
});
}); 运行代码后,也可以得到上图的界面。 四 ,小结 关于 new Date().getTime()的简写方式:可以参考这篇文章: http://www.cssrain.cn/article.asp?id=1116 CssRain提供的几个例子,按照官方写的: 点击下载此文件 jtemplates官方首页 : http://jtemplates.tpython.com/ 官方的几个例子:
. Simple template (see source as description)
example1.html . Example + multiple elements + parameters
example2.html . Example (Valid XHTML 1.1 !)
example3.html . Multitemplate (Valid XHTML 1.1)
example4.html

jquery的一个模板引擎-zt的更多相关文章

  1. 说说如何用js实现一个模板引擎

    本文同步更新在: https://github.com/whxaxes/blog/issues/4 ,在 github 看文章显示效果会更好一些. 前言 不知不觉就很长时间没造过什么轮子了,以前一直想 ...

  2. handlebars——另外一个模板引擎

    什么是handlebars? handlebars库是另外一个模板引擎,他继承mustache(胡子),感觉没有jade(珠宝)好听,他不允许在模板中写很多JavaScript的逻辑.这有助于保持模板 ...

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

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

  4. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  5. consolidate.js 一个Node.js 模板引擎的集合

    consolidate是一个模板引擎的结合体.包括了常用的jade和ejs.通过配置我们就可以使用多种模板引擎. consolidate.js安装 npm install consolidate co ...

  6. knockoutJS学习笔记02:jsRender模板引擎

    上一篇最后提到了模板,并尝试自己编写一个最简单版本:有些朋友可能用过 jqtmpl,这是一个基于jquery的模板引擎,不过它已经不再更新了,而且据说渲染速度比较慢.这里介绍另外一个模板引擎:jsRe ...

  7. jsRender模板引擎

    jsRender模板引擎 上一篇最后提到了模板,并尝试自己编写一个最简单版本:有些朋友可能用过 jqtmpl,这是一个基于jquery的模板引擎,不过它已经不再更新了,而且据说渲染速度比较慢.这里介绍 ...

  8. 模板引擎 引自 《PHP核心技术与最佳实践》

    随着web的发展,仅一门语言或者一种技术已经不能满足需求,分层架构显得越来越重要.在大型架构中,从来不会简单地应用php从头到尾实现一个完整的mvc架构.可能底层是c/java的支撑,负责密集运算和y ...

  9. iOS:使用模板引擎渲染HTML界面

    在实际开发中,UIWebView控件接受一个HTML内容,用于相应的界面,下面是该API的接口: - (void)loadHTMLString:(NSString *)string baseURL:( ...

随机推荐

  1. ubuntu 16 server 安装lnmp所需依赖

    安装 1.nginx build-essential libc6 libpcre3 libpcre3-dev libssl-dev zliblg zliblg-dev lab-base 依赖库: ap ...

  2. 深入分析Java中的 == 和equals

    关于Java中的 == 和equals的解释请看这位博主的文章 :http://www.cnblogs.com/dolphin0520/p/3592500.html 以下是我对这篇文章的一些扩展. 对 ...

  3. 第2章-Vue.js指令

    一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...

  4. tf.train.batch的偶尔乱序问题

    tf.train.batch的偶尔乱序问题 觉得有用的话,欢迎一起讨论相互学习~Follow Me tf.train.batch的偶尔乱序问题 我们在通过tf.Reader读取文件后,都需要用batc ...

  5. Java设计模式の代理模式

    目录  代理模式 1.1.静态代理   1.2.动态代理 1.3.Cglib代理 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是 ...

  6. bzoj 2502 清理雪道 (有源汇上下界最小流)

    2502: 清理雪道 Time Limit: 10 Sec  Memory Limit: 128 MB Description        滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场 ...

  7. Linux系统调用和库函数

    #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unist ...

  8. 超酷动态图片展示墙JS特效制作方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 判断是否引入jquery

    主要使用typeof检验 <script language="javascript"> if(typeof jQuery == 'undefined'){ window ...

  10. python3爬虫.4.下载煎蛋网妹子图

    开始我学习爬虫的目标 ----> 煎蛋网 通过设置User-Agent获取网页,发现本该是图片链接的地方被一个js函数代替了 于是全局搜索到该函数 function jandan_load_im ...