Javascript 我无法将此循环放入内部以缩短代码。它给出了节点类型的错误
我试图在for循环中添加此代码,但它给了我以下错误 未能在“节点”上执行“appendChild”:参数1不是类型 “节点” 我正在这样努力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(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'));
}