从 2D JavaScript 数组生成 HTML 表格 [英] Generate HTML table from 2D JavaScript array
本文介绍了从 2D JavaScript 数组生成 HTML 表格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 JavaScript 中,是否可以从二维数组生成 HTML 表格?编写 HTML 表格的语法往往非常冗长,所以我想从一个 2D JavaScript 数组生成一个 HTML 表格,如下所示:
In JavaScript, is it possible to generate an HTML table from a 2D array? The syntax for writing HTML tables tends to be very verbose, so I want to generate an HTML table from a 2D JavaScript array, as shown:
[
["row 1, cell 1", "row 1, cell 2"],
["row 2, cell 1", "row 2, cell 2"]
]
会变成:
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
所以我正在尝试编写一个 JavaScript 函数,该函数将从 2D JavaScript 数组中返回一个表,如下所示:
So I'm trying to write a JavaScript function that would return a table from a 2D JavaScript array, as shown:
function getTable(array){
// take a 2D JavaScript string array as input, and return an HTML table.
}
推荐答案
这是一个将使用 dom 而不是字符串连接的函数.
Here's a function that will use the dom instead of string concatenation.
function createTable(tableData) {
var table = document.createElement('table');
var tableBody = document.createElement('tbody');
tableData.forEach(function(rowData) {
var row = document.createElement('tr');
rowData.forEach(function(cellData) {
var cell = document.createElement('td');
cell.appendChild(document.createTextNode(cellData));
row.appendChild(cell);
});
tableBody.appendChild(row);
});
table.appendChild(tableBody);
document.body.appendChild(table);
}
createTable([["row 1, cell 1", "row 1, cell 2"], ["row 2, cell 1", "row 2, cell 2"]]);
这篇关于从 2D JavaScript 数组生成 HTML 表格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文