首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript无法通过id找到元素?

Javascript无法通过id找到元素?
EN

Stack Overflow用户
提问于 2010-12-21 18:52:13
回答 4查看 114.1K关注 0票数 28
代码语言:javascript
复制
<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>

如果我使用alert(e);,它会显示null...显然我在屏幕上看不到任何“找到你”。我做错了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-21 18:55:03

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

代码语言:javascript
复制
window.onload = function () {
    var e = document.getElementById("db_info");
    e.innerHTML='Found you';
};

不过,大多数常见的JavaScript库都提供了支持DOM的事件。这样更好,因为window.onload也会等待所有图像。在大多数情况下,您不需要这样做。

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

票数 76
EN

Stack Overflow用户

发布于 2010-12-21 18:56:33

浏览器如何知道何时运行脚本标记中的代码?因此,为了使代码在窗口完全加载后运行,

代码语言:javascript
复制
window.onload = doStuff;

function doStuff() {
    var e = document.getElementById("db_info");
    e.innerHTML='Found you';
}

另一种选择是将<script...</script>放在结束</body>标记之前。

票数 3
EN

Stack Overflow用户

发布于 2010-12-21 18:54:45

脚本是在构建主体的DOM之前执行的。将其全部放入一个函数中,并从主体元素的onload调用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4498482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档