javascript - insertCell() 不是函数
问题描述
我正在尝试使用 javascript 动态创建一个表,我希望它有 10 行和 10 列。使用 insertRow() 添加正确数量的行没有问题,但我不能用 insertCell() 做同样的事情。
**HTML**
<div class="container-fluid">
<table id="tableMars">
</table>
</div>
**JavaScript**
var mars = document.getElementById("tableMars");
function createMars(){
for (var i=0; i<10; i++){
var row = mars.insertRow();
row.className += "tableRows";
var columns = document.getElementsByClassName("tableRows");
}
for (var j=0; j<10; j++){
columns.insertCell()
}
}
我希望每行添加 10 列,但在控制台中运行函数时收到错误“insertCell() 不是函数”。
解决方案
您收到错误,因为columns
返回多个元素的 HTMLCollection。你需要的是一个循环:
var mars = document.getElementById("tableMars");
function createMars() {
for (var i = 0; i < 10; i++) {
var row = mars.insertRow();
row.className += "tableRows";
var columns = document.getElementsByClassName("tableRows");
}
for (var j = 0; j < 10; j++) {
for (let column of columns) {
column.insertCell();
}
}
}
createMars();
table,
td {
border: 5px solid #000;
}
<div class="container-fluid">
<table id="tableMars">
</table>
</div>
推荐阅读
- packagist - 更改 x Packagist 包的名称
- xamarin.forms - 如何以 xamarin 形式在 carousalview 上添加点击事件
- c# - DynamicRouteValueTransformer 改变值没有任何影响
- python - multiprocessing.Pool.map() 有效,但 Pool.apply() 无效
- sccm - Powershell:查找正在运行的进程,如果进程正在运行则中止脚本,否则继续执行脚本
- angular - 如何使用angular8在formarray中单击编辑/查看时一次显示一个表单详细信息
- php - 使用 move_uploaded_file 函数在服务器上上传文件,该函数在 localhost 但不在实时服务器上工作
- ios - 语音识别器在 ios 13 背景中不起作用
- kubernetes - 通过 localhost 和端口转发的 Kubernetes 访问应用程序
- java - 合并 web.xml 期间的 Maven 货物不包括所有错误页面