日期:2014-05-16  浏览次数:20398 次

为什么这段代码输出结果只有一个null,我是想输出5个Li的
<html>
<head>

<meta name="keywords" content="test,test html">
<meta name="description" content="this is a test html.">

<title>test html</title>

<script type="text/javascript">
function getByTag(){


var lis=document.getElementsByTagName("li");


for(var i=0;i<lis.length;i++){
   
  document.write(lis[i].nodeValue); 
   
  }
  



}

</script>




<style type="text/css">



</style>
</head>

<body>

<ul>

<li>li1</li>
<li>li2</li>
<li>li3</li>
<li>li4</li>
<li>li5</li>

</ul>
<form>
<input type="text" name="shurukuang">
<input type="button" onclick="getByTag()"> 
</form>
</body>
</html>

------解决方案--------------------
在载页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)、因此.假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量、使用一个document.write()方法完成写操作,不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。

看看这个解释吧。。
------解决方案--------------------
http://hi.baidu.com/lmcbbat/item/6a52722768472554c28d5967