介绍
怎么在JavaScript中根据json生成html表格?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
代码
htmlKit =, { ,,_tags: [],, html:, [],, ,,_createAttrs: function (attrs), { ,,,var attrStr =, []; ,,,for (var key  attrs拷贝),{ ,,,,,if (! attrs.hasOwnProperty(关键),继续; ,,,,,attrStr.push(时间+ key “=? +, attrs(例子),+,““) ,,,} ,,,return attrStr.join (“,“) ,,}, ,,_createTag: function (attrs,标签,还以为;isStart), { ,,,if (isStart), { ,,,,,return “& lt;“, +, tag +,,,,, +, this._createAttrs (attrs), +,“比;“ ,,,},{else ,,,,,return “& lt;/? +, tag +,“比;“ ,,,} ,,}, 开始:,才能function (标签,attrs), { ,,,this._tags.push(标签); ,,,this.html.push (this._createTag(标签,attrs,,真的)) ,,}, 结束才能:function (), { ,,,this.html.push (this._createTag (this._tags.pop(),,空,,假)) ,,}, 标签:,才能function (标签,,attr,,文本),{ ,,,this.html.push (this._createTag(标签,attr,,真的),+,text +, this._createTag(标签,null,,假)) ,,}, 创造才能:function (), { ,,,return this.html.join (“”) ,,} }; function json2Html(数据),{ var 才能;hk =, htmlKit; hk.start才能(“table",, {“cellpadding":,“10“,,“border":,“1“}); hk.start才能(“thead"); hk.start才能(“tr"); 数据才能[“heads"] .forEach (function (头),{ ,,,hk.tag (“th",, {“bgcolor":“AntiqueWhite"},,头) ,,}); hk.end才能(); hk.end才能(); hk.start才能(“tbody"); 数据才能[“data"] .forEach (function (dataList, i), { ,,,dataList.forEach (function (_data), { ,,,,,hk.start (“tr"); ,,,,,数据[“dataKeys"][我].forEach (function (关键),{ ,,,,,,,var rowsAndCol =, key.split (“:”); ,,,,,,,if (===rowsAndCol.length 1), { ,,,,,,,,,hk.tag (“td",,空,,_data [rowsAndCol [0]]) ,,,,,,,},else if (===rowsAndCol.length 3), { ,,,,,,,,,hk.tag (“td",, {“rowspan": rowsAndCol [0],,“colspan":, rowsAndCol [1]},, _data [rowsAndCol [2]]) ,,,,,,,} ,,,,,}); ,,,,,hk.end () ,,,}) ,,}); hk.end才能(); hk.end才能(); return 才能;hk.create () }
<强>使用说明强>
<强> HtmlKit 强>
HtmlKit是创建html标签的工具
函数
函数名作用例子开始(标签,attrs)创建未封闭标签头开始(“table", {“cellpadding":“10“,“border":“1“}),输出& lt;表格单元格边距=?0”;边境=?“在结束()创建上一个启动函数的标签尾上面执行了(“table")开始,再执行()结束,输出& lt;/table>标签(标签,attr,文本)创建封闭标签标签(“th", {“bgcolor":“AntiqueWhite"},“hello"),输出& lt; th背景=癆ntiqueWhite"祝辞hello <强> json2Html 强>
json转Html
例子:
var data =, ( {才能 ,,,“chinese":, 80年, ,,,“mathematics":, 89年, ,,,“english": 90 ,,} ]; var total =, 0; data.forEach (function (值),{ for 才能;(key 拷贝值),{ ,,,total +=,价值(例子); ,,} }); var htmlMetadata =, { “heads"才能:,(“语文“,,“数学“,,“英语“), null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么在JavaScript中根据json生成html表格