代码:
<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时,写完第一行,其它的东西不存在了,则会报错误提示。