首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >html和javascript -如何更新innerhtml

html和javascript -如何更新innerhtml
EN

Stack Overflow用户
提问于 2013-04-24 18:01:19
回答 6查看 1.4K关注 0票数 0

我正在尝试更新div标签的innerHTML,可能在这里的简单应用程序中出现了一些错误:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en" xmlns=""http://www.w3.org/1999/xhtml"">
<head>
<title>Test</title>
 <script> 
    var element = document.getElementById("aaa");
    element.innerHTML = "1";
 </script>
</head>
<body>
<div id="aaa">aaa</div>
</body>
</html>

当我在浏览器中看到"aaa“时,我希望它是"1”。

有什么想法吗?

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-04-24 18:02:31

在执行脚本的时候,JavaScript看不到任何#aaa元素。

最好的做法是将<script>标记放在</body>之前,这样脚本就会在加载完所有文档时执行:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en" xmlns=""http://www.w3.org/1999/xhtml"">
<head>
    <title>Test</title>
</head>
<body>
    <div id="aaa">aaa</div>

    <script> 
        var element = document.getElementById("aaa");
        element.innerHTML = "1";
    </script>
</body>
</html>
票数 2
EN

Stack Overflow用户

发布于 2013-04-24 18:02:52

这是因为在执行脚本时,元素aaa还没有添加到dom中。

进行dom操作的更安全的方法是在dom加载之后进行,因此您可以使用onload事件处理程序。

另一个与html加载相关的技巧是将所有脚本放在页面底部。

您需要将脚本移动到on load

代码语言:javascript
运行
复制
<html lang="en" xmlns=""http://www.w3.org/1999/xhtml"">
<head>
<title>Test</title>
 <script> 
    window.onload = function(){
        var element = document.getElementById("aaa");
        element.innerHTML = "1";
    }
 </script>
</head>
<body>
<div id="aaa">aaa</div>
</body>
</html>
票数 2
EN

Stack Overflow用户

发布于 2013-04-24 18:03:20

尝尝这个

代码语言:javascript
运行
复制
<body>
<div id="aaa">aaa</div>
 <script> 
    var element = document.getElementById("aaa");
    element.innerHTML = "1";
 </script>
</body>

脚本代码应在加载名为'aaa'的标签后执行,否则使用onload事件函数调用代码

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

https://stackoverflow.com/questions/16189060

复制
相关文章

相似问题

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