使用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 相关文章推荐
jQuery对于显示和隐藏等常用状态的判断方法
Dec 13 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
Javascript中级语法快速入手
Jul 30 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
js倒计时显示实例
Dec 11 Javascript
详解easyui基于 layui.laydate日期扩展组件
Jul 18 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
微信小程序实现蒙版弹出窗功能
Sep 17 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
JavaScript实现页面高亮操作提示和蒙板
Jan 04 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
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
php学习 函数 课件
2008/06/15 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
javascript关于继承解析
2016/05/10 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
Bootstrap插件全集
2016/07/18 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
Less 安装及基本用法
2018/05/05 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
武汉东之林科技有限公司机试
2013/09/17 面试题
外包公司软件测试工程师
2014/11/01 面试题
风险评估实施方案
2014/03/09 职场文书
家长会标语
2014/06/24 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
军训结束新闻稿
2015/07/17 职场文书
学校运动会感想
2015/08/10 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
话题作文之呼唤
2019/12/18 职场文书