为什么 document.write() 会清空页面内容?
<body>
<input type="button" value="按钮" onclick="sayHello();">
<script>
function sayHello(){
document.write("<h1>Hello</h1>");
}
</script>
</body>
为什么document.write()
会清空页面内容?
document.write("我");
document.write("是");
document.write("一");
document.write("朵");
document.write("花");
为什么这一段代码,后一句没有清空前一句显示的内容,而是输出了"我是一朵花"完整的一句话?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为在方法中调用
document.write
会首先隐式调用document.open
,而open
则会重新打开document
对象流,开始(覆盖)写入,所以在方法内调用write
就会导致document
的内容被覆写。如果你的代码像这样,那么
h1
和按钮会同时存在,因为write方法在渲染时被执行了,因为document流此时处于打开状态,所以新的内容会附加到流中。但是点击按钮后所有内容都会消失。