在Javascript中动态创建表

在Javascript中动态创建表,javascript,html-table,appendchild,createelement,Javascript,Html Table,Appendchild,Createelement,我有一个工作表,当按下按钮时,通过循环数组并在每个单元格中显示数据来动态创建一个表 然而,当我试图为我的表添加一个表头时,问题出现了,我不确定我做错了什么 下面是我试图添加的代码:(一定是错的) 非常感谢您的帮助,您可以使用循环来避免代码重复。例如: var columns = ["Name", "Age", "Degree"]; var thd = document.createElement("thead"); tab.appendChild(thd); var tr = docume

我有一个工作表,当按下按钮时,通过循环数组并在每个单元格中显示数据来动态创建一个表

然而,当我试图为我的表添加一个表头时,问题出现了,我不确定我做错了什么

下面是我试图添加的代码:(一定是错的)


非常感谢您的帮助,

您可以使用循环来避免代码重复。例如:

var columns = ["Name", "Age", "Degree"];

var thd = document.createElement("thead");
tab.appendChild(thd);

var tr = document.createElement("tr"); 
thd.appendChild(tr);

for (var i = 0; i < columns.length; i++) {
    var th = document.createElement("th");
    th.appendChild(document.createTextNode(columns[i]));
    tr.appendChild(th);    
}
var列=[“姓名”、“年龄”、“程度”];
var thd=document.createElement(“thead”);
表2.附加子项(thd);
var tr=document.createElement(“tr”);
附肢儿童(tr);
对于(var i=0;i

演示:您需要将JSFIDLE设置为不在onload事件中包装代码。您忘记了“关闭”输入,这就是JSFIDLE无法工作的原因:只要您修复从第二行到最后一行中丢失的
,头也可以工作。是时候学习如何工作了。而不是
tbdy.appendChild(tr)
您可能想编写
thd.appendChild(tr),没有?
var columns = ["Name", "Age", "Degree"];

var thd = document.createElement("thead");
tab.appendChild(thd);

var tr = document.createElement("tr"); 
thd.appendChild(tr);

for (var i = 0; i < columns.length; i++) {
    var th = document.createElement("th");
    th.appendChild(document.createTextNode(columns[i]));
    tr.appendChild(th);    
}