Javascript 我无法将此循环放入内部以缩短代码。它给出了节点类型的错误

Javascript 我无法将此循环放入内部以缩短代码。它给出了节点类型的错误,javascript,appendchild,Javascript,Appendchild,我试图在for循环中添加此代码,但它给了我以下错误 未能在“节点”上执行“appendChild”:参数1不是类型 “节点” 我正在这样努力 for(i = 1; i <=5; i++){ tableBody.appendChild('row' + i); } for(i=1;i您不是在附加实际对象。您是在附加字符串 试着这样做: let tableBody = document.querySelector('#table tbody'); let rows = [] ro

我试图在for循环中添加此代码,但它给了我以下错误

未能在“节点”上执行“appendChild”:参数1不是类型 “节点”

我正在这样努力

for(i = 1; i <=5; i++){
  tableBody.appendChild('row' + i);
}

for(i=1;i您不是在附加实际对象。您是在附加字符串

试着这样做:

let tableBody = document.querySelector('#table tbody');    

let rows = []
rows.push(document.createElement('tr'));
rows.push(rows[0].cloneNode(true));
rows.push(rows[0].cloneNode(true));
rows.push(rows[0].cloneNode(true));
rows.push(rows[0].cloneNode(true));

rows.forEach(row => {
  tableBody.appendChild(row);
})

编写
tableBody.appendChild('row'+i);
不起作用的原因只不过是一个sting,它不是保存节点的变量, 将所有行放入数组中,然后从那里添加它

试试这个

let tableBody = document.querySelector('#table tbody');    

let rows=[];
rows.push(document.createElement('tr'));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));


for(i = 0 ; i <rows.length; i++){
  tableBody.appendChild(row[i]);
}
let tableBody=document.querySelector(“#table tbody”);
让行=[];
rows.push(document.createElement('tr'));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));
rows.push(row1.cloneNode(true));

对于(i=0;iappendChild接受DOM节点对象(),正如其他人提到的,您提供了一个字符串

看起来您想创建一个包含5行的表,如果是这样,您可以这样做:

for(i = 1; i <=5; i++){
  tableBody.appendChild(document.createElement('tr'));
}

for(i=1;i),因为您试图附加字符串“row1”、“row2”,而不是row1、row2等节点本身。您可以创建一个数组,将每个新节点推送到一个数组,然后可以直接在数组上运行for循环。例如:const arr=[];arr.push(row1.cloneNode(true))为什么不
tableBody.appendChild(document.createElement('tr'))
tableBody.appendChild(row1.cloneNode(true));
在循环中?
for(i = 1; i <=5; i++){
  tableBody.appendChild(document.createElement('tr'));
}