Javascript HTML:无法在<;中执行代码;脚本>;块,但能够在控制台中运行

Javascript HTML:无法在<;中执行代码;脚本>;块,但能够在控制台中运行,javascript,html,Javascript,Html,这是我的密码: <html> <head> <script> document.getElementById("id").onclick = function(){ alert(); } </script> </head> <body> <label id="id"&g

这是我的密码:

<html>
    <head>
        <script>
            document.getElementById("id").onclick = function(){
                alert();
            }
        </script>
    </head>
    <body>
        <label id="id">A label</label>
    </body>
</html>

document.getElementById(“id”).onclick=function(){
警惕();
}
标签
这很简单,但我无法让它工作


当我复制
中的代码并在控制台上运行它时,它工作得非常好。

onclick事件没有触发,因为绑定click事件时元素不存在(DOM还没有加载)

要解决此问题,可以在关闭主体标记之前放置脚本(1) 或者将代码包装在DOM加载的事件中(2)

(一)


当脚本标记出现在页面上时,代码将运行,如果将其放在头部,则不会加载正文。可以将内容放在正文中,也可以在加载DOM之前添加一些代码以等待。
<html>
    <head>            
    </head>
    <body>
        <label id="id">A label</label>
        <script>
            document.getElementById("id").onclick = function(){
                alert();
            }
        </script>
    </body>
</html>
window.onload = function () {
   document.getElementById("id").onclick = function(){
      alert();
   }
}