2012-06-24 58 views
0

除非我在javascript之前编写<div id="bannersize"></div>,否则此脚本无法找到“横幅广告”。通过javascript查找元素时出错

错误消息:

Error "Uncaught TypeError: Cannot set property 'innerHTML' of null"

我的代码片段:

<script> 
function dropbox(menu){ 
    this.tmpmenu = document.getElementById(menu); 
    this.tmpmenu.innerHTML = 'Hello'+this.tmpmenu; 
} 
bannersize = new dropbox('bannersize'); 
</script> 
<div id="bannersize"></div> 

回答

3

,不能因为在代码被执行的元素是不是在DOM的时间找到它。一旦浏览器看到</script>结束标记,便立即执行脚本块。您的代码位于元素之前,所以当它运行时,HTML解析器还没有遇到包含您正在查找的“id”的元素。

将代码放在之后,或者在文档的“加载”事件处理程序中运行它。

+0

谢谢你尖尖的,我把它编辑并**它的工作** :)

user1477982