我一直在为游戏制作一个简单的游戏菜单(我还没有。) 该代码在jsfiddle中完美运行 但是,当我打开我的本地html文档时,没有任何javascript工作,(console.log和其他代码在我的错误之前工作)并且我得到一个错误,在我的createMenu函数:第67行,表示 Uncaught TypeError:无法读取财产' style'未定义的
这里是createMenu函数的代码(也在jsfiddle上)
var menu = document.getElementsByClassName("menu");
var menu2 = document.getElementsByClassName("menu2");
var createMenu = function()
{
menu[0].style.display = "block"; <---- Error
menu[1].style.display = "block";
menu[2].style.display = "block";
menu2[0].style.display = "none" ;
menu2[1].style.display = "none" ;
menu2[2].style.display = "none" ;
};
createMenu();
注意:我尝试使用循环代替较少的代码执行display block / none,但它似乎根本不起作用,甚至在jfiddle中都没有。
var createMenu = function()
{
var i = 0;
while (i <3 ) {
i++;
menu[i].style.display = "block";
menu2[i].style.display = "none" ;
}
};
感谢您的帮助!
答案 0 :(得分:2)
这可能是因为您在head
元素中加载了JS代码,这意味着JS在渲染您的正文之前执行。您必须等待完整的DOM加载或将脚本放在正文的末尾:
<!-- ... -->
<script src="your-script.js"></script>
</body>
</html>