新闻-手机-汽车-游戏-家电-家居-女人-摄影-站长-设计-网络-英语-开发-考试-范文-管理-营销-IT-商道-数码-电脑-文秘-美女-经验 Rss | 注册-登录

推荐javascript简单模板

2012/2/2 14:23:14 中国学网 跟贴 0 条 网友投稿

不是俺写的。jquery老大写的。

在模板里用类似jsp的语法写。可以减少大量使用+来拼接。且效率很高。

使用方法: tmpl(模板html,json数据串)

俺的博客: http://fredzhu.com

代码片段(3)


[图片] TM截图未命名.png



(点小图查看大图)
点击图片看大图

[代码] [JavaScript]代码


// Simple JavaScript Templating
// John Resig - http://ejohn.org/ - MIT Licensed
(function(){
var cache = {};
this.tmpl = function tmpl(str, data){
// Figure out if we're getting a template, or if we need to
// load the template - and be sure to cache the result.
var fn = !/\W/.test(str) ?
cache[str] = cache[str] ||
tmpl(document.getElementById(str).innerHTML) :
// Generate a reusable function that will serve as a template
// generator (and which will be cached).
new Function("obj",
"var p=[],print=function(){p.push.apply(p,arguments);};" +
// Introduce the data as local variables using with(){}
"with(obj){p.push('" +
// Convert the template into pure JavaScript
str
.replace(/[\r\t\n]/g, " ")
.split("<%").join("\t")
.replace(/((^|%>)[^\t]*)'/g, "$1\r")
.replace(/\t=(.*?)%>/g, "',$1,'")
.split("\t").join("');")
.split("%>").join("p.push('")
.split("\r").join("\\'")
+ "');}return p.join('');");
// Provide some basic currying to the user
return data ? fn( data ) : fn;
};
})();

[代码] [JavaScript]代码


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><script type="text/javascript">// <![CDATA[
$(document).ready(function(){
    var json =
        {
            "key":"1",
            "datas":
                [{"k":"v1","k2":"v2"}],
            "test_if":true,
            "test_for_datas":[1,2,3,4,5,6,7,8,9,10]
        };
    var tmp =     'key:<%=key%></br>'+
                'datas:
<ul>
    <li><%=datas[0].k%></li>
    <li><%=datas[0].k2%></li>
</ul>
'+
                'test_if:'+
                '<%if(test_if){%>'+
                '成立'+
                '<%}else{%>'+
                '失败'+
                '<%}%>'+
                '</br>'+
                '循环:'+
                '<%for(var i=0;i<test_for_datas.length;i++){%>'+
                    '<%=test_for_datas[i]%>'+
                '<%}%>';
    $("#conent").html(tmpl(tmp,json));
});
// ]]></script>
  • ·点此查看本文专栏报道
  • 关于 推荐javascript简单模板

    点击登录 |

    网友评论仅供其表达个人看法,并不表明学网同意其观点或证实其描述。

    如何使用跟贴
    修改昵称 关闭窗口
    盖楼回复 关闭窗口
    点击登录 |
    发言 | 退出
    复制收藏 关闭窗口

    复制成功,按CTRL+V发送给好友、论坛或博客。 浏览器限制,请复制链接和标题给好友、论坛或博客。


    最新新闻

        
    新闻-手机-汽车-游戏-家电-家居-女人-音效-欣赏-硬件-企业-网吧-图标-矢量-源码-模板-软件-图库-书籍-笑话-书法-美食-字体-壁纸-问吧-分享
    About US - 关于我们 - 联系方法 - 招聘信息 - 本网声明 - 广告服务 - 网站地图
    中国学网版权所有
    ©2012