2012-06-27 48 views
3

我有以下幾點:'的innerHTML':對象爲空或未定義

<div id="valueboxes" style="overflow-x:hidden;overflow-y:scroll;width:100%;height:200px"> 

然而,每次我用下面的:

document.getElementById("valueboxes").innerHTML = html; 

我得到這個錯誤:

'innerHTML': object is null or undefined 

我做錯了什麼?

html是一個表格var,被javascript在for循環中使用+=也加上了。

+5

此代碼在哪裏執行? DOM很可能尚未準備好進行操作。 –

+0

您在此問題中包含的代碼中沒有HTML。請在「valueboxes」div中顯示HTML,以便我們幫助您。 – Lowkase

+1

@AmandaSmith:如果你有很多其他的DOM操作正在進行,[你可能想看看jQuery](http://jquery.com/)。這樣,您可以簡單地使用'$(function(){/ *您的DOM代碼在這裏* /});'這也將簡化其他一些事情。 –

回答

8

這是因爲您在DOM完全加載之前正在執行您的代碼。

應該工作:

window.onload = function() { 
    document.getElementById('valueboxes').innerHTML = html; 
}; 

或者你可以簡單地把你的JavaScript代碼之前</body>標籤,無需使用onload那裏。

相關問題