誰能告訴我爲什麼我可能會得到這個錯誤?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,我仍然會得到同樣的結果。我可以這樣做嗎? –