如何使用Javascript dom创建给定的html格式?

时间:2015-08-12 09:36:23

标签: javascript html dom containers

我必须使用文档对象模型以下面的格式打印数据。我在创建下面的html时遇到了问题。

name1       name2       name3
50          48          56

name4       name5       name6
52          58          49

使用以下格式的示例:

  var table = document.createElement("table");
  var row = document.createElement("row");

4 个答案:

答案 0 :(得分:2)

创建元素

var table = document.createElement("table");

创建一个空元素并将其添加到表的第一个位置:

var row = table.insertRow(0);

在“new”元素的第1和第2位置插入新单元格(元素):

var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);

//在新单元格中添加一些文字:

cell1.innerHTML = "NEW CELL1";
cell2.innerHTML = "NEW CELL2";

See reference

答案 1 :(得分:1)

使用tr代替row

var row0 = document.createElement("tr");

以下是您想要做的快速入门:



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);




答案 2 :(得分:1)

我们可以使用insertRow table函数来创建新行。

找到以下代码:

  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);

jsfiddle

答案 3 :(得分:1)

如果您将数据存储在对象中,则可以通过编程方式执行此操作:

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));

DEMO