[英]How to create the given html format using Javascript dom?
I have to get the data printed like the below format using document object model. 我必须使用文档对象模型来获取像以下格式一样打印的数据。 I am having the problem in creating the below html.
我在创建以下html时遇到问题。
name1 name2 name3
50 48 56
name4 name5 name6
52 58 49
example using below format: 使用以下格式的示例:
var table = document.createElement("table");
var row = document.createElement("row");
Create a element 创建一个元素
var table = document.createElement("table");
Create an empty element and add it to the 1st position of the table: 创建一个空元素并将其添加到表的第一位置:
var row = table.insertRow(0);
Insert new cells ( elements) at the 1st and 2nd position of the "new" element: 在“新”元素的第一和第二位置插入新的单元格(元素):
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
// Add some text to the new cells: //在新单元格中添加一些文本:
cell1.innerHTML = "NEW CELL1";
cell2.innerHTML = "NEW CELL2";
Use tr
instead of row
使用
tr
代替row
var row0 = document.createElement("tr");
Here is a quick start for what you want to do: 这是您要执行的操作的快速入门:
var table = document.createElement("table"); var row0 = document.createElement("tr"); var a0 = document.createElement("td"); a0.textContent = "name1"; var a1 = document.createElement("td"); a1.textContent = "name2"; var a2 = document.createElement("td"); a2.textContent = "name3"; var row1 = document.createElement("tr"); var b0 = document.createElement("td"); b0.textContent = "50"; var b1 = document.createElement("td"); b1.textContent = "48"; var b2 = document.createElement("td"); b2.textContent = "56"; row0.appendChild(a0); row0.appendChild(a1); row0.appendChild(a2); row1.appendChild(b0); row1.appendChild(b1); row1.appendChild(b2); table.appendChild(row0); table.appendChild(row1); document.body.appendChild(table);
We can use insertRow
function of table
to create new row. 我们可以使用
table
insertRow
函数来创建新行。
find the below code: 找到以下代码:
var table = document.createElement("table");
//to create first row
var row = table.insertRow(0);
// first row columns
var col = row.insertCell(0);
col.textContent = "name1";
col = row.insertCell(1);
col.textContent = "name2";
col = row.insertCell(2);
col.textContent = "name3";
// for second row
row = table.insertRow(1);
// for second row columns
col = row.insertCell(0);
col.textContent = "50";
col = row.insertCell(1);
col.textContent = "48";
col = row.insertCell(2);
col.textContent = "56";
document.body.appendChild(table);
If you have your data stored in an object you can do this programmatically: 如果您将数据存储在对象中,则可以通过编程方式执行此操作:
var data = {
name1: 50,
name2: 48,
name3: 56,
name4: 52,
name5: 58,
name6: 49
};
function buildTable(data) {
// grab the headings from the object
var headings = Object.keys(data);
var cells = [], rows = [];
// for each heading, push it and its data value into the cell array
headings.forEach(function (heading, i) {
var value = data[headings[i]];
cells.push('<td>' + heading + '<br/>' + value + '</td>');
// when we reach the end of the row, brace the cell data with
// row tags, and clear the cells array
if ((i + 1) % 3 === 0) {
rows = rows.concat('<tr>' + cells.join('') + '</tr>');
cells = [];
}
});
// return the complete table html
return '<table>' + rows.join('') + '</table>'
}
// grab the body tag and insert the table html as the first child
var body = document.querySelector('body');
body.insertAdjacentHTML('afterbegin', buildTable(data));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.