您的位置:首页 > Web前端 > HTML

使用document.write输出覆盖HTML问题

2016-12-01 09:45 711 查看
 今天学习了javascript第一部分,关于使用document.write()写入HTML文档流。但在教程上看到一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。这使我有些困惑,然后查了网上的各种说法,最后大概的总结一下。

   所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的内容,当整个页面内容都加载完毕之后,再调用document.write()这方法会将显示的页面内容都会清楚。

   当时我困惑的地方是,在文档加载完毕之后如何再使用这方法?在我之前所以为的是这样的代码

view
source

print?

01.
<
html
>


02.
<
head
>


03.
</
head
>


04.
<
body
>


05.
<
p
>文档第一行</
p
>


06.
<
p
>文档第二行</
p
>


07.
<
script
 
type
=
"text/javascript"
>


08.
//这是我原本所认为的文档之后添加了js


09.
document.write('会不会将前两行文字清除呢?');


10.
</
script
>


11.
</
body
>


12.
</
html
>


以为所谓的在文档加载完后再调用该方法是这js语句在文档的最后,结果用上面的这样的写法其实不会清除,因为我想的是错误的。

后来了解之后,所谓的在文档加载完后再使用这方法是这样的:

view
source

print?

01.
<
html
>


02.
<
body
>


03.
<
p
>这是第一行文字</
p
>


04.
<
p
>这是第二行文字<
p
>


05.
<
p
  
type
=
"text/javascript"
>


06.
function
myFunction(){


07.
document.write('这下应该会清除了吧?');


08.
}


09.
</
script
>


10.
</
body
>


11.
</
html
>


文档加载完的情况是显示第一到第三行字。然后所谓的再使用document.write()这方法,是通过点击第三行文字调用myFunction方法使用的,因此这是在文档加载完后使用document.write()的,所以整个页面的内容都要被清除覆盖掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐