[英]TypeError: document.getElementById(…); is null javascript
[英]TypeError document.getElementByID() … is null?
谁能告诉我为什么我会收到此错误?
“ TypeError:document.getElementById(...)为null @ line:25”
我正在使用JavaScript,这就是我到目前为止在<script>
标记中拥有的内容...
var initBoard = new Array(new Array(0, 0, 0, 1),
new Array(0, 0, 0, 0),
new Array(3, 0, 0, 0),
new Array(0, 0, 2, 0)
);
function insertData(){
for(var i = 0; i < 4; i++){
for(var j = 0; j <4; j++){
document.getElementById(i.j).innerHTML = initBoard[i][j];
}
}
}
在我的HTML <body>
里面的下面,我有这个...。
<table border="2" >
<tr align="center">
<td><div id="00">0</div></td>
<td><div id="01">0</div></td>
<td><div id="02">0</div></td>
<td><div id="03">0</div></td>
</tr>
<tr align="center">
<td><div id="10">0</div></td>
<td><div id="11">0</div></td>
<td><div id="12">0</div></td>
<td><div id="13">0</div></td>
</tr>
<tr align="center">
<td><div id="20">0</div></td>
<td><div id="21">0</div></td>
<td><div id="22">0</div></td>
<td><div id="23">0</div></td>
</tr>
<tr align="center">
<td><div id="30">0</div></td>
<td><div id="31">0</div></td>
<td><div id="32">0</div></td>
<td><div id="33">0</div></td>
</tr>
当我尝试运行此命令时,我从上面得到了该错误。
我还尝试将“ ID”硬编码为'00'
或'01'
,但它仍然给我同样的错误消息。
有人知道我在做什么错吗? 我到处环顾四周,到处都说基本相同的内容,这应该很容易,但我无法超越。
编辑:第25行是document.getElementById(ij).innerHTML = initBoard[i][j];
您想将数字转换为字符串并将其连接起来。
document.getElementById(i + "" + j).innerHTML = ...
您有ij
,它将采用i
引用的数字,并要求它提供其j
属性,该属性将返回undefined
。
是的-我曾经发生过同样的问题。 问题是:
ID和NAME令牌必须以字母([A-Za-z])开头,然后可以跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _”) ,冒号(“:”)和句点(“。”)。
因此,您必须替换分配ID的方式
另外-您对ij的处理方式不正确
确保代码在文档完全加载后执行。 就像是
window.addEventListener("load", function() {
<your current code>
},0);
正如其他张贴者所说,使用“ cell” + i +“ _” + j之类的东西也是一个好主意。 我将下划线放在“ 111”不模糊的地方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.