2012-06-27 55 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那里。

相关问题