繁体   English   中英

动态创建html文档

[英]creating html document dynamically

<!DOCTYPE>
<html>
<script>
    var btn = document.createElement("BUTTON");
    var txt = document.createTextNode("Text");
    btn.appendChild(txt);
    document.body.appendChild(btn);
</script>
</html>

我刚刚开始学习HTML和JavaScript。

我期望上面的代码输出一个带有单词“ text”的按钮。 不幸的是,输出为空白。 有人可以向我解释为什么此代码不起作用吗?

您的脚本不会执行任何操作,因为它位于头部,因此您的脚本在运行之前需要使用window.onload函数

<!DOCTYPE>
<html>
<script>
window.onload = function(){
    var btn = document.createElement("BUTTON");
    var txt = document.createTextNode("Text");
    btn.appendChild(txt);
    document.body.appendChild(btn);
}
</script>
</html>

jsve已经关闭。 您需要确保在加载主体时加载了代码。 这是通过调用主体的onload函数来完成的,如下所示:

<!doctype html>
<html>
<head>
    <script>
    function init(){
        var btn = document.createElement("BUTTON");
        var txt = document.createTextNode("Text");
        btn.appendChild(txt);
        document.body.appendChild(btn);
    }
    </script>
</head>
<body onload="init()"></body>
</html>

您需要在加载主体后运行该代码:

<!doctype html>
<html>
<head>
    <script>
        function addBtn() {
            var btn = document.createElement("button");
            var txt = document.createTextNode("Text");
            btn.appendChild(txt);
            document.body.appendChild(btn);
        }
    </script>
</head>
<body onload="addBtn()"></body>
</html>

还有一些评论:

  1. 如上所示,您还需要将DOCTYPE更新为<!doctype html>

  2. <script>标记包装在<script> <head>标记内。

  3. 无需大写button

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM