使用jQuery模板来展现json数据的代码


Posted in Javascript onOctober 22, 2010

完整代码:

$.fn.parseTemplate = function(data) 
{ 
var str = (this).html(); 
var _tmplCache = {} 
var err = ""; 
try 
{ 
var func = _tmplCache[str]; 
if (!func) 
{ 
var strFunc = 
"var p=[],print=function(){p.push.apply(p,arguments);};" + 
"with(obj){p.push('" + 
str.replace(/[\r\t\n]/g, " ") 
.replace(/'(?=[^#]*#>)/g, "\t") 
.split("'").join("\\'") 
.split("\t").join("'") 
.replace(/<#=(.+?)#>/g, "',$1,'") 
.split("<#").join("');") 
.split("#>").join("p.push('") 
+ "');}return p.join('');"; //alert(strFunc); 
func = new Function("obj", strFunc); 
_tmplCache[str] = func; 
} 
return func(data); 
} catch (e) { err = e.message; } 
return "< # ERROR: " + err.toString() + " # >"; 
}

使用方法:

首先声明这个模板

<script id="template" type="text/html"> 
<table style="width:400px;"> 
<thead> 
<tr> 
<th>name</th> 
<th>age</th> 
<th>date</th> 
<th>type</th> 
</tr> 
</thead> 
<tbody> 
<# var xing = items.pm; 
#> 
<tr> 
<td> 
<#= xing.key #> 
</td> 
<td> 
<#= xing.key1 #> 
</td> 
<td> 
<#= xing.key #> 
</td> 
<td> 
<#= items.pm1 #> 
</td> 
</tr> 
<# 
#> 
</tbody> 
</table> 
<br /> 
<#= items.pm.length #> 记录 
</script>

然后使用
$(function(){ 
var json={"items":{"pm":{"key":"value","key1":"value1"},"pm1":"pmvalue"}}; 
var output=$('#template').parseTemplate(json); 
$('#cc').html(output); 
})

就是这么简单!
Javascript 相关文章推荐
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
Sep 02 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
jquery简单实现外部链接用新窗口打开的方法
May 30 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
Jan 22 Javascript
JS图片轮播与索引变色功能实例详解
Jul 06 Javascript
小程序实现锚点滑动效果
Sep 23 Javascript
JS实现动态星空背景效果
Nov 01 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 Javascript
jQuery 表单验证扩展(四)
Oct 20 #Javascript
jQuery 表单验证扩展(三)
Oct 20 #Javascript
jQuery 表单验证扩展代码(二)
Oct 20 #Javascript
事件模型在各浏览器中存在差异
Oct 20 #Javascript
自写简单JS判断是否已经弹出页面
Oct 20 #Javascript
javascript attachEvent绑定多个事件执行顺序问题
Oct 20 #Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 #Javascript
You might like
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python标准库之collections包的使用教程
2017/04/27 Python
如何通过python实现全排列
2020/02/11 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
vue路由实现登录拦截
2021/03/24 Vue.js
施工资料员的岗位职责
2013/12/22 职场文书
九年级数学教学反思
2014/02/02 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
一年级学生期末评语
2014/04/21 职场文书
绿色环保口号
2014/06/12 职场文书
环保公益策划方案
2014/08/15 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
学术会议开幕词
2016/03/03 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技