我的代码。
td_0.innerHTML = message;
td_1.innerHTML = message;
td_2.innerHTML = message;
我该如何循环?
for (var i = 0; i < VarNames.length; i++) {
td_i.innerHTML = message;
}
答案 0 :(得分:2)
以下内容可以为您提供帮助:
try
try
答案 1 :(得分:1)
<table id="tableID">
<tr>
<td>my td</td>
</tr>
</table>
var table = document.getElementById("mytab1");
for (var i = 0, row; row = table.rows[i]; i++) {
//iterate through rows
//rows would be accessed using the "row" variable assigned in the for loop
for (var j = 0, col; col = row.cells[j]; j++) {
//iterate through columns
//columns would be accessed using the "col" variable assigned in the for loop
col.innerHTML = message;
}
}
答案 2 :(得分:1)
您可以先使用document.querySelectorAll(),然后再使用Array.prototype.forEach()
document
.querySelectorAll('#tableID tr td')
.forEach((td, i) => td.innerHTML = 'Element ' + i);
<table id="tableID">
<tr>
<td>td 1</td>
</tr>
<tr>
<td>td 2</td>
</tr>
<tr>
<td>td 3</td>
</tr>
</table>
答案 3 :(得分:1)
我知道我盲目地回答了这个问题,而没有帮助问问背后的真正目标,但仅供参考,可以通过window
对象循环一些全局变量名称:
for (var i = 0; i < VarNames.length; i++) {
window[`td_${i}`].innerHTML = message;
}
上面的代码仅用于循环显示名称中包含变量的变量。我不会在真实代码中这样做。像提到的其他答案一样,最好使用querySelectorAll()
将元素放入可迭代的对象中,这样就不必为每个元素声明单独的变量。