使用js修改表格单元格的文本
2021-01-09
633
我有一个 html 表格,我想使用 js 更改不同单元格内的文本。我的表格如下所示:
<tr><td colspan="7" style="text-align:center;">Calendar evenimente tds</td></tr>
<tr>
<th>Data1</th>
<th>Data2</th>
<th>Data3</th>
<th>Data4</th>
<th>Data5</th>
<th>Data6</th>
<th>Data7</th>
</tr>
<tr>
<td id="col1row1">null</td>
<td id="col2row1">null</td>
<td id="col3row1">null</td>
<td id="col4row1">null</td>
<td id="col5row1">null</td>
<td id="col6row1">null</td>
<td id="col7row1">null</td>
</tr>
</table>
我的 js 脚本如下所示:
var j=0;
for(j=0;j<=7;j++)
document.getElementById("col"+j+"row1").innerHTML=j;
但我收到此错误:
Uncaught TypeError: Cannot set property 'innerHTML' of null
我的问题是,修改 HTML 表格单元格内的文本的正确方法是什么,我做错了什么?
3个回答
由于没有
col0
,循环的第一次迭代失败。您不必像这样迭代 ID,只需按标记循环遍历元素即可:
Array.from(document.getElementsByTagName('td')).forEach((td, index) => {
td.innerHTML = index
})
如果您希望计数从 1 开始,请改用
td.innerHTML = index + 1
。
Zac Anger
2021-01-09
循环调用不存在的 ID。由于 html 中没有 col0row1,因此使循环以 1 开始,而不是从零开始
var j;
for(j=1;j<=7;j++){
document.getElementById("col"+j+"row1").innerHTML=j;
}
Rowan Mamdouh
2021-01-09
由于 j = 0,没有 id 为“col0row1”的元素,因此未捕获错误。
var j = 1
for(j=1;j<=7;j++){
document.getElementById("col" + j + "row1").innerHTML = j;
}
Nitesh
2021-01-09