<ul id="one">
 <li>java</li>
 <li>web</li>
 <li>计算机</li>
</ul>
<script language="javascript">
var a=document.getElementById("one").childNodes;
document.write(a.length);
</script>
为什么a.length=7呢?  那个节点关系搞不懂,大神教教呢、

解决方案 »

  1.   

    var a=document.getElementById("one").childNodes;
    document.write(a.length);
      document.write('<br>看看分别是什么<br>');
    for(var i=0;i<a.length;i++){
      document.write(a[i].nodeName+'_'a[i].nodeType);
      document.write('<br>');
    }
      

  2.   

    可是a.length为什是7呢??这点没懂   
      

  3.   

    你应该是在IE下面运行的吧,IE下文本也算是一个节点。
      

  4.   

    建议楼主学学客户端调试,Firefox的firebug或者Chrome自带的调试工具,很方便可以看到
      

  5.   

    childNodes这个在IE标准和非IE标准下的执行结果是不同的。你加个<br>在最后,能给你算成两个节点去,加在中间却又算成一个节点个人对DOM操作一向不推荐使用这种方式
      

  6.   


    说反了。。非IE浏览器,如firefox下空白节点也算一个节点。。IE是3,firefox是7