日期:2014-05-16  浏览次数:20476 次

JavaScript一维数组动态生成N行N列table表格的问题

刚才有人问了我一个问题,问题内容大致如下:

现在需要生成一个7列的表格,表格的内容全部依次存储在一个JavaScript一维数组中,怎样实现?


我试着写出了以下代码,一是为了留作纪念,二是万一将来用得着,就不用到处找了。

具体的代码和相应的注释如下:

var arr=[];
var col=7;//这里为生成7列的表格
for (var i=0;i<25;i++){arr[i]=i;}//这里只是举例子,在实践中应该为具体数据
var lines=Math.ceil(arr.length/col);//很关键的一步,这里为生成表格的行数
var str="<table><tbody>";//表头
for (var j=0;j<lines;j++){//遍历表格行
str+="<tr>";
for (var k=0;k<col;k++){//遍历表格列
str+="<td>";
if(typeof arr[k+j*col]=="undefined"){str+="&nbsp";}
else{str+=arr[k+j*col];}
str+="</td>";
};//表格行结束
str+="</tr>";
};
str+="</tbody></table>";

document.body.innerHTML=str;