我想用下面的代码设置对DOM元素的引用。出于某种原因,在引用完成之后立即调用的任何东西都可以正常工作,但在应用程序的任何其他位置调用它都不会发生任何事情我没有收到任何错误,比如“无法设置undefined的innerHTML”,这是最奇怪的部分。紧接声明后,它工作得很好,以后它不会做任何事情,但其他元素以相同的方式引用并且在相同的函数中工作正常。无法引用DOM对象
var dom = new function() {
this.signInA = document.getElementById("signInPin");
this.orderEntry = document.getElementById("orderEntry");
this.menuGroup = document.getElementById("openGroup");
}
<div id="orderEntry">
<div id="openGroup">
</div>
</div>
后来我打电话
dom.openGroup.innerHTML="TEST";
但什么也没有发生。这当然只是应用程序的一小部分,但我已经遍历整个文档来检查DOM的其他所有参考,特别是dom.openGroup。 dom.orderEntry在整个应用程序中工作得很好,而dom.openGroup只在这个声明的直接空间中工作。
它是使用var dom = new function(){}创建的;像我说的一切工作正常不dom.openGroup – PC3TJ
你也可以在你的例子中使用'dom.openGroup.innerHTML',但它存储在'dom.menuGroup' – mplungjan
你可以提供[最小,完整和可验证的例子](http ://stackoverflow.com/help/mcve)? – Grundy