0

<div id="bannersize"></div>除非我在 javascript 之前编写,否则此脚本找不到“bannersize” 。

错误信息:

错误“未捕获的 TypeError:无法将属性 'innerHTML' 设置为 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>
4

1 回答 1

3

它找不到它,因为在执行代码时该元素不在 DOM 中。一旦浏览器看到</script>结束标记,就会执行脚本块。您的代码在元素之前,因此当它运行时,HTML 解析器将不会遇到您正在寻找的具有“id”的元素。

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

于 2012-06-24T11:41:44.180 回答