Javascript找不到id的元素?

Blu*_*ica 23 javascript getelementbyid

<html>
<head>
    <title>Test javascript</title>

    <script type="text/javascript">
        var e = document.getElementById("db_info");
        e.innerHTML='Found you';
    </script>
</head>
<body>
    <div id="content">
        <div id="tables">

        </div>        
        <div id="db_info">
        </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我使用alert(e);它出现null....显然我没有在屏幕上找到任何"找到你".我究竟做错了什么?

jwu*_*ler 57

问题是您尝试在元素存在之前访问它.您需要等待页面完全加载.一种可能的方法是使用onload处理程序:

window.onload = function () {
    var e = document.getElementById("db_info");
    e.innerHTML='Found you';
};
Run Code Online (Sandbox Code Playgroud)

但是,最常见的JavaScript库提供了一个DOM-ready事件.这更好,因为window.onload等待所有图像.在大多数情况下,您不需要这样做.

另一种方法是将脚本标记放在结束标记之前</body>,因为它前面的所有内容都是在执行时加载的.

  • 用于window.onload和匿名函数的+1 ^^ (2认同)