Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript填充表_Javascript_Html_Css - Fatal编程技术网

Javascript填充表

Javascript填充表,javascript,html,css,Javascript,Html,Css,如何以正确的方式使用javascript填充表 函数loadTableData(){ //0:日期 //1:姓名 var行=document.getElementById(“测试”); var x=行插入单元格(0); x、 innerHTML=“10/17/2018”; var x=行插入单元格(1); x、 innerHTML=“john doe”; } 日期 文件名 loadTableData()我不是HTML专家,但: 我认为必须使用element.appendChild()来附加您

如何以正确的方式使用javascript填充表

函数loadTableData(){
//0:日期
//1:姓名
var行=document.getElementById(“测试”);
var x=行插入单元格(0);
x、 innerHTML=“10/17/2018”;
var x=行插入单元格(1);
x、 innerHTML=“john doe”;
}

日期
文件名

loadTableData()我不是HTML专家,但:


我认为必须使用element.appendChild()来附加您创建的子级。您不应该使用innerHTML,而应该使用文档对象模型中内置的方法。

技巧是在数据上循环,并在插入数据之前使用
insertRow
创建一行。在本例中,您可以看到
tbody
元素为空,并且每个
tr
元素都是动态创建的


日期
文件名
常数项1=[
{日期:“2018年10月17日”,姓名:“john doe”},
{日期:“2018年10月18日”,姓名:“jane doe”},
];
常量项2=[
{日期:“2019年10月17日”,姓名:“john doe”},
{日期:“2019年10月18日”,姓名:“jane doe”},
];
函数loadTableData(项){
const table=document.getElementById(“testBody”);
items.forEach(item=>{
let row=table.insertRow();
let date=row.insertCell(0);
date.innerHTML=item.date;
让name=row.insertCell(1);
name.innerHTML=item.name;
});
}
loadTableData(项目1);
loadTableData(项目2);
loadTableData([]);

正如其他响应者提到的,您需要使用DOM处理文档。将所有内容都视为HTML中的元素

var table = document.getElementById("myTable");

var rowNode = document.createElement("tr");
var cellNode = document.createElement("td");
var textNode = document.createTextNode("John Doe");

cellNode.appendChild(textNode);
rowNode.appendChild(cellNode);
table.appendChild(rowNode);

对于与表DOM元素的进一步交互,W3C规范()是一个很好的参考。

您需要追加一个新行,然后填充它。如果我不希望这些项保持不变,该怎么办?如果我在运行中加载它们,并且基于一个用户,它们可能没有或有两个以上呢?我如何分配项目而不保持不变。假设我有一个字符串循环,我通过它分配项目。你所需要做的就是将
items
作为参数传递给函数。我调整了它以反映这一点。它也适用于空数组。您可以将代码更改为仅使用字符串而不是对象,但我认为如果您在此应用程序中使用对象而不是对象,代码将更易于使用。或者以某种方式附加一个项目数组。谢谢您的帮助:)