怎么在JavaScript中根据json生成html表格

  介绍

怎么在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表格