1 var template = document.querySelector('#template').innerHTML, 2 result = document.querySelector('.result'), 3 attachTemplateToData; 4 5 // 将模板和数据作为参数,通过数据里所有的项将值替换到模板的标签上(注意不是遍历模板标签,因为标签可能不在数据里存在)。 6 attachTemplateToData = function(template, data) { 7 var i = 0, 8 len = data.length, 9 fragment = ''; 10 11 // 遍历数据集合里的每一个项,做相应的替换 12 function replace(obj) { 13 var t, key, reg; 14 15 //遍历该数据项下所有的属性,将该属性作为key值来查找标签,然后替换 16 for (key in obj) { 17 reg = new RegExp('{{' + key + '}}', 'ig'); 18 t = (t || template).replace(reg, obj[key]); 19 } 20 21 return t; 22 } 23 24 for (; i < len; i++) { 25 fragment += replace(data[i]); 26 } 27 28 return fragment; 29 }; 30 31 result.innerHTML = attachTemplateToData(template, data);
参考:http://www.cnblogs.com/TomXu/archive/2011/12/15/2284752.html