javascript - 通过javascript查找元素时出错

标签 javascript dom

此脚本无法找到“bannersize”,除非我写 <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>

最佳答案

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

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

关于javascript - 通过javascript查找元素时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177132/

相关文章:

javascript - 使 Javascript 正则表达式不区分大小写

javascript - 将innerText传递给Angularjs Controller

javascript - Dom函数,将HTML插入到dom中替换所有内容

javascript - 带有 css 选择器的 addRule/insertRule

javascript - 什么样的对象在 Jquery 的 .each 中返回 'this'?

javascript - Spotify api 1.0.0 获取给定轨道集的播放列表的图像

javascript - 如何在 https 站点上通过 http 加载 css 文件。

javascript - 如何为 pjax-standalone 添加淡入/淡出效果?

java - 一个不错的 Java XML DOM 实用程序

javascript - 使用 xuijs 补间回到自动高度