关闭

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

标签: javascripthtml
2065人阅读 评论(0) 收藏 举报

在W3School的JavaScript教程中有这样一个警告:

        请使用 document.write() 仅仅向文档输出写内容。

        如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:

示例代码是这样的:

<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>

<p>My First Paragraph.</p>
<button onclick="myFunction()">点击这里</button>

<script>
function myFunction()
{
document.write("糟糕!文档消失了。");
}
</script>
</body>
</html>


所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的內容,当整個页面內容都加载完毕之后,再调用document.write()这方法(function)会将显示的页面内容都清除掉,相当于重新加载。下面这段代码没有调用function,所以没有问题。

<html>
<head>
</head>
<body>
<p>文檔第一行</p>
<p>文檔第二行</p>
<script type="text/javascript">
//這是我原本所認为的文檔之後添加了js
document.write('會不會將前兩行文字清除呢?');
</script>
</body>
</html>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2880次
    • 积分:55
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档