这样可以,在用document.write的时候,把网页内容清空了
<html> 
<head> 
<script type="text/javascript"> 
function getOptions() 
  { 
  var x=document.getElementById("mySelect"); 
  var str = "";
  for (i=0;i <x.options.length;i++) 
    { 
str += x.options[i].text + " <br />";
    } 
  document.write(str);
  } 
</script> 
</head> 
<body> <form> 
请选择您喜欢的水果: 
<select id="mySelect"> 
  <option>苹果 </option> 
  <option>桃子 </option> 
  <option>香蕉 </option> 
  <option>桔子 </option> 
</select> 
<br /> <br /> 
<input type="button" onClick="getOptions()" value="输出所有选项"> 
</form> </body> 
</html> 

解决方案 »

  1.   

    document.write不能循环连续输出?还是?不太明白。
      

  2.   

          在载入页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)、因此.假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量、使用一个document.write()方法完成写操作,不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。 
           关于document.write()方法还有一点要说明的是它的相关方法document.close()。脚本向窗口(不管是本窗口或其他窗口)写完内容后.必须关闭输出流。在延时脚本的最后一个document.write()方法后面.必须确保含有document.close()方法,不这样做就不能显示图片和表单。并且,任何后面调用的document.write()方法只会把内容追加到页面后,而不会清除现有内容来写入新值。
      

  3.   

          在载入页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)、因此.假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量、使用一个document.write()方法完成写操作,不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。 
           关于document.write()方法还有一点要说明的是它的相关方法document.close()。脚本向窗口(不管是本窗口或其他窗口)写完内容后.必须关闭输出流。在延时脚本的最后一个document.write()方法后面.必须确保含有document.close()方法,不这样做就不能显示图片和表单。并且,任何后面调用的document.write()方法只会把内容追加到页面后,而不会清除现有内容来写入新值。