使用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 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
JS 有名函数表达式全面解析
Mar 19 Javascript
js 刷新页面的代码小结 推荐
Apr 02 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
Oct 17 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
jquery获取自定义属性(attr和prop)实例介绍
Apr 21 Javascript
JavaScript的21条基本知识点
Mar 04 Javascript
ie8模式下click无反应点击option无反应的解决方法
Oct 11 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
JS实现随机点名器
Apr 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
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php时间计算相关问题小结
2016/05/09 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
军训感想500字
2014/02/20 职场文书
房地产活动策划方案
2014/05/14 职场文书
诉前财产保全担保书
2014/05/20 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
房屋出租委托书格式
2014/09/23 职场文书
邀请函模板
2015/02/02 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
2016银行求职自荐信
2016/01/28 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
python利用while求100内的整数和方式
2021/11/07 Python