document.write()和.innerHTML不写入HTML

时间:2018-05-04 04:34:16

标签: javascript html

我一直在努力将JavaScript函数的结果打印到网页上;但我仍然坚持打印 - document.write().innerHTML都没有通过div"输出&#34打印任何内容id ;。下面的代码都没有改变任何东西:

<script type="text/javascript">
    var print = document.getElementById("output");
    print.innerHTML = "hello world";
    document.write("hello");
</script>

出了什么问题?

3 个答案:

答案 0 :(得分:0)

好吧,我对jQuery有点疯狂,但考虑到使用起来更容易,它让我的生活变得更加轻松。而不是做document.write(&#34;你好&#34;);这完全清除了石板并覆盖了所有东西。

考虑使用此

$(document.body).append('hello'); - 它与document.write()功能相同,但它并不像document.write()那样完全覆盖文档。

我知道这不是最有效的方法,但我只是在普通的javascript中找不到任何好的选择。

答案 1 :(得分:0)

我发现我的问题是一个简单的语法问题,我觉得非常愚蠢,但是我会在这里发布这个问题以及其他几个有类似问题的答案!

我的问题是我使用的是getElementById,但是我用div标记了class,而不是id!真是个愚蠢的错误!但是,它发生了 - 我感谢所有这些答案,这些答案帮助我更加批判地看待我的代码。

与其他答案一样,对于script标记位于文档末尾非常重要,这样页面才能在脚本运行之前首先呈现。确保您<script type="text/javascript"></script>澄清您正在使用的脚本类型也很重要。并且document.write 的TIL是将文本写入网页的一个很好的功能,因为它会删除其他所有内容!

我希望这里和其他答案可以帮助任何人尝试让他们的脚本有效!

答案 2 :(得分:-1)

因为你的问题是在javascript执行时没有加载div。您已将javascript片段放在页面顶部。您可以将javascript代码段放到页面底部,也可以将代码片段组织为JS函数并调用它。

<html>

    <body>
        <div id="output"></div>
    </body>

    <script type="text/javascript">
        print = document.getElementById("output");
        print.innerHTML = "hello world";
        document.write("hello");
    </script>

</html>