(菜鸟问题)为什么button触发的一段js代码会把整个页面刷新?

leo-H 发布于 2011/10/31 14:53
阅读 3K+
收藏 0
<!DOCTYPE html>
<html>
  <head>
     原来内容<br>
  </head>
  <body>
    
    <script type="text/javascript">
         function a(){  document.writeln('新内容<br>');  }
    </script>
    <input value='清除原内容' type='button' onclick='a()'/>
  </body>
</html>

一点击按钮就像页面被刷新了一样,为什么不是在原来基础上加上新内容呢?
加载中
0
DanielTo
DanielTo

1、head里面原则上不会有页面内容相关的东西,一般显示的东西放到body里面

2、

<!DOCTYPE html>
<html>
  <head>
    
  </head>
  <body>
    
    <script type="text/javascript">
         function a(){ 
				var orignal = document.getElementById('orignal');
				orignal.parentNode.removeChild(orignal);  //删除原来的内容
				var first = document.body.firstChild;	//取得body中第一个元素
				var div=document.createElement("div");
				var content=document.createTextNode("hello world!");
				div.appendChild(content);
				document.body.insertBefore(div,first);  //在最前面插入元素
			}
    </script>
	<div id = 'orignal'> 原来内容<br></div>
    <input value='清除原内容' type='button' onclick='a()' id = 'btClear'/>
  </body>
</html>

 

mark35
mark35
@leo_de_macondo : 很简单,这个命令就有刷新页面这个效果
leo-H
leo-H
谢谢,可是为什么document.writeln()会覆盖原来的呢?
0
小编辑
小编辑

必须加一个 return false;

function a() {
   document.writeln(....);
   return false;
}

leo-H
leo-H
试了试,return false也没用啊
0
晕dows
晕dows

页面加载完成之后调用的

document.writeln('新内容<br>');

会把整个页面覆盖掉的

返回顶部
顶部