谁能告诉我为什么我可能会得到这个错误?TypeError document.getElementByID()...为空?
"TypeError: document.getElementById(...) is 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(i.j).innerHTML = initBoard[i][j];
除了下面的答案,请确保你在一个onload处理程序中运行所有这些。如果运行得太早,ID尚未定义。 – DrC
@DrC:做得很好。如果代码在元素呈现之前运行,则不会找到任何内容。 –
@DrC我认为这可能会发生,因为即使下面的答案和我硬编码的ID而不是使用i.j,我仍然会得到同样的结果。我可以这样做吗? –