Javascript运行不正确-尝试了所有操作

Javascript运行不正确-尝试了所有操作,javascript,html,css,Javascript,Html,Css,我的javascript只有一行代码,它得到了“getElementById null”错误 document.getElementById(“菜单背景”).style.left=“0”; HTML: CSS: #菜单背景{ 位置:固定; 宽度:100%; 身高:100%; 背景图片:url(“images/background.png”); 背景位置:中心; 背景尺寸:封面; 排名:0; 文本对齐:居中; 左:100%; } #主菜单{ 宽度:60vw; 高度:80vh; 边框样式:实心

我的javascript只有一行代码,它得到了“getElementById null”错误

document.getElementById(“菜单背景”).style.left=“0”;
HTML:


CSS:

#菜单背景{
位置:固定;
宽度:100%;
身高:100%;
背景图片:url(“images/background.png”);
背景位置:中心;
背景尺寸:封面;
排名:0;
文本对齐:居中;
左:100%;
}
#主菜单{
宽度:60vw;
高度:80vh;
边框样式:实心;
边界半径:1.125em;
边框颜色:#b88a00;
保证金:自动;
位置:绝对位置;
最高:50%;
左:50%;
转换:翻译(-50%,-50%);
背景色:rgba(0,0,0,0.75);
过渡:均为0.25秒;
}

我运行VisualStudio代码并检查了到js的链接。我还尝试在HTML文件中运行它。

您应该将
脚本
放在文档末尾,以便在到达之前定义元素:

<html>
  <head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="main.css" />
  </head>
  <body>
    <div id="menu-background">
      <div id="main-menu"></div>
    </div>
    <script type="text/javavascript" src="js/main-menu.js"></script>
  </body>
</html>

您可以尝试以下方法:

window.addEventListener('DOMContentLoaded', function(e) {
    document.getElementById("menu-background").style.left = "0";    
});

我发现了问题

我的HTML文件名为“main.HTML”,当我将其重命名为“index.HTML”时,它工作了


谢谢你们的快速回复,伙计们。我是新来的,所以我是认真的。

我认为你应该把你的javascript放到窗口的
DOMContentLoaded
事件监听器中。你也可以将
移动到
(结束体)标记之前。现在我的js行在事件监听器中。我认为这不管用,但谢谢你的快速回复!您是否检查过是否将其放入DOM就绪部分?DOM就绪是什么意思?对不起,我是新手,它还没有运行。真奇怪。谢谢你的回复!元素为null的原因是从上到下读取文档,这就是在到达脚本之前应该知道元素的原因。这个问题的另一个解决方案是将您的代码包含在
window.onload=function(){//your code here}
我知道文档是从上到下读取的,但即使底部有脚本链接,即使window.onload也没有运行。也许是我的CSS?我试过了。但似乎什么都没做。谢谢你的回复!你能分享一下你的错误吗?它只是说“document.getElementById(…)为null”。VisualStudio代码没有错误消息,我在Codesandbox上运行了它,它返回了错误消息。代码沙盒的问题。不是javascript代码。我发现了问题。我贴了一个描述它的答案。谢谢你的帮助!