js填充列表的几种方式
2016-05-19 13:17
471 查看
应用情景:在服务端返回一个json格式的列表数据,前端页面中需要使用js来绘制dom的时候
1,根据html模板按规则替换掉数据部分的实现方式
html模板
js方法
填充代码片段
2,利用jquery的clone方法去根据模板生成dom,然后加入
数据大的时候不应该使用
3,利用js的字符串拼接方法
1,根据html模板按规则替换掉数据部分的实现方式
html模板
<!-- 模板 --> <div style="display: none;"> <ul id="itemdataTempleteContent"> <li onclick="getPlan({itemdata_id});"> <span>名字:{itemdata_name}</span> </li> </ul> </div>
js方法
//根据模板生成内容,在内容较多时使用字符串替换拼接操作来添加dom //模板中使用“{itemdata_XXX}”的格式来作为属性替换值的标示,遇到该标示则替换 //@param templete 模板内容 //@param data 数据行 //@param format 格式化(如日期格式化),可以没有 function getHtmlByTemplete(templete, data, format){ return templete.replace(/{itemdata_([^}]+)}/g, function($0, $1){ var v = data[$1] ; if( typeof(format) !== 'undefined' && format !== null ){ v = format($1, v) ; } return v ; }) ; }
填充代码片段
var templeteStr = XXX.innerHTML ; var content = XXXXX; var itemHtmlList = [] ; for(var i=0 ; i < list.length; i++){ itemHtmlList.push(getHtmlByTemplete(templeteStr, list[i], itemdataFormatDate)) ; } content.innerHTML = itemHtmlList.join('') ;
2,利用jquery的clone方法去根据模板生成dom,然后加入
数据大的时候不应该使用
3,利用js的字符串拼接方法
相关文章推荐
- JavaScript 开发的45个技巧
- javascript confirm()函数的用法
- JSP 的九大内置对象简介
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法
- js获取字符长度
- js 日期控件laydate使用
- JSFL脚本导出Flash中的所有图片
- jsoncpp和rapidjson哪个好用?
- js阻止浏览器默认事件
- js设置和读取cookie
- JSON 解析
- JAVAScript和JAVA有区别吗
- Jackson tips: using @JsonAnyGetter/@JsonAnySetter to create "dyna beans"
- extjs-mvc开发模式
- JavaScript中解决多浏览器兼容性23个问题的快速解决方法
- 【转】图解javascript this指向什么?
- js获取不同浏览器盒子宽度高度
- 超好用的C# json转换器。类js动态使用!
- 判断数组是否包含某个元素的js函数实现方法
- 如何在QML中定义Javascript资源