有关document.write的关键问题分析

发布时间:2020-02-19编辑:脚本学堂
本文介绍下,javascript中document.write的关键问题,通过代码分析发现的一个问题,供大家参考。

代码:

复制代码 代码示例:

<html>
 <head>
 <title>document.write的关键问题-www.jb200.com</title>
 <script type="text/javascript">
 /**
  * document.write的关键问题分析
  * edit www.jb200.com
  * at 2013/5/14
 */
 function fun(){
 var radio=document.getElementsByName("color")
 if(radio.length==0){
 alert("error");return;
 }

 for(var i=0;i<3;i++){ //此处为何只能循环一次?然后length=0.
 document.write(radio[i].value+
 " "+"lenght="+radio.length+" i="+i+"<br/>")
 }
 document.write(radio[2]);
 }
 function getV(){
 var v1=document.getElementById("div");
 v1.innerText="hello!";//这里也不对,输出不来。

}
 </script>
 </head>
 <body onload="getV()">
 <div id="div"> </div>
 <form method="post" action='1.htm'>
 <fieldset>
 <legend>Choose the color you favourite</legend>
 <input type="radio" name="color" value="red">red<br>
 <input type="radio" name="color" value="blue"/>blue<br/>
 <input type="radio" name="color" value="yellow"/>yellow<br/>
 <input type="submit" name="submit" value="submit" onclick="fun()"/> 
</fieldset>
 </form>
 </body>
</html>

问题分析:
for为什么只能循环一次,还有innerText有这个函数吗?如何用/,像上面的那样对吗?
解答:
将document.write修改为alert即可。
原因在于:当使用document.write时,写完第一行,其它的东西不存在了,则会报错误提示。