document.write覆盖问题

1.不会覆盖页面:

  如果仅仅是一句js语句:document.writeln('<span id=\'span1\'>嗯,你好</span>');

  ps:\'是转义字符,代表'

2.覆盖页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>你好。window.writeln</p>
<script>
  document.writeln('<span id=\'span1\'>嗯,你好</span>');
  document.write('123');
  window.onload=function(){
    document.writeln('<span id=\'span1\'>嗯,你好</span>');
  }
</script>
</body>
</html>

效果:

我对于为什么会覆盖的认识:

  1.之前,是一直加载,写入页面内容。当加载完了,文档流关闭。

  2.当加载完成,触发window.onload事件。在例子中onload绑定的函数有:document.write(*****)语句,这会让文档流再次打开【ps:是一个叫open()的方法,该方法会清空当前文档内容,然后再写。写完后调close方法,文档流关闭】,所以就会出现覆盖现象

  

 

posted @ 2016-07-02 17:48  前端17号  阅读(3706)  评论(1编辑  收藏  举报