从另一个窗口访问document.getElementById

时间:2016-05-05 13:59:39

标签: javascript html

我有两个共享外部.js文件的.html文件(Intro.html和Main.html)。

我的第一个.html文件使用

从外部.js文件通过自定义按钮和.online事件打开第二个.html
document.getElementById("leaveButton").onclick = function () {
    location = "Main.html";
}

我的第二个.html文件在其自己的页面/窗口上也有几个按钮,也可以通过外部.js文件中的document.getElementById.onclick访问。

没有问题,如果我为每个.html文件保留单独的.js文件,一切正常。

但是,当我让它们共享相同的.js文件时,控制台中的每个.html页面都会抱怨另一个文档.getElementById(" idName")。onclick项目。这是我收到的错误消息,

Uncaught TypeError: Cannot set property 'onclick' of null

如何使用纯Javascript解决此问题?

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是仅在元素存在时尝试添加onclick()处理程序。类似的东西:

if (!!document.getElementById("leaveButton")) {
  document.getElementById("leaveButton").onclick = function () {
    location = "Main.html";
  }
}