读书人

js的简略模板解析

发布时间: 2013-10-07 19:41:22 作者: rapoo

js的简单模板解析

在编程中总是会遇见很多动态生成的东西,一般我们都是通过简单的html拼接起来的

<!doctype html><html><head>   <meta charset=utf-8>   <title>Simple Templating</title></head><body>     <div class="result"></div>    <script type="template" id="template">    <h2>      <a href="{{href}}">        {{title}}      </a>    </h2>    <img src="{{imgSrc}}" alt="{{title}}"></script><script type="text/javascript">    var data = [        {            title : 'php web appliaction',            href : 'http://www.baidu.com',            imgSrc : 'http://www.baidu.com'        },        {            title : 'js 权威指南',            href : 'http://www.qq.com',            imgSrc : 'http://www.qq.com'        }];    var template = document.querySelector('#template').innerHTML,        result = document.querySelector('.result');    function _template(template, data){        var i = 0,            len = data.length,            fragment = '';        function replace(obj){            var t, key, reg;            for(key in obj){                reg = new RegExp('{{' + key + '}}', 'ig');                t = (t || template).replace(reg, obj[key]);            }            return t;        }        for(; i < len; i++){            fragment += replace(data[i]);        }        return fragment;    }    console.log(_template(template, data));</script></body></html>


读书人网 >JavaScript

热点推荐