document.write()做什么?

时间:2012-12-06 10:27:19

标签: javascript

这是一个非常基本的问题。 我有这个脚本:

    <script type="text/javascript">
        function write(){
            document.write('Hello2')
        }
        write();
    </script>

它显示了我的完整页面。在页面末尾将显示 Hello2 。 但是,当我去开发工具并调用 write()时,它将替换我的整个身体html。只是好奇才知道。

        window.onload=write;// has the same effect. Clear's my page.

感谢。

3 个答案:

答案 0 :(得分:16)

当浏览器读取并解析文档时,如果有一个script元素调用document.write,那么document.write的输出将被插入到文档中。但是,稍后,一旦页面完全加载,如果您使用document.write,它会隐式执行document.open,它会擦除​​页面并开始从头开始编写新页面。

有关MDN的更多信息:

通常,不是使用document.write向页面添加内容,而是使用各种DOM methods(直接或通过jQueryYUI等库, Closureany of several others)。

答案 1 :(得分:7)

在页面加载完成后执行时,它会覆盖整个内容 - 这个问题的答案中提出的一点:Why is document.write considered a "bad practice"?

答案 2 :(得分:0)

document.write写入文档流,在关闭(加载)的文档上调用document.write会自动调用document.open,这将清除文档。