document.getElementById();在肯定存在的ID上返回null

时间:2019-01-18 13:03:27

标签: javascript html

有人知道为什么document.getElementById(“ closebtn”);返回null?我已经尝试console.logging它,我只是空。我正在使用node.js和Electron

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="home.css" />
    <script>
    console.log(document.getElementById("closebtn"));</script>
</head>
<body>
    <div id="menubar">
        <button id="closebtn" onclick=""></button>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

这是因为您的脚本在DOM完全加载之前正在运行。您可以将脚本放在正文的底部,也可以用DOMContentLoaded包装代码。这样可以确保放置在内部的代码仅在DOM完全加载后才能执行。

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="home.css" />
    <script>
    document.addEventListener("DOMContentLoaded", function(event) {
      console.log(document.getElementById("closebtn"));
    });
    </script>
</head>
<body>
    <div id="menubar">
        <button id="closebtn" onclick=""></button>
    </div>
</body>
</html>