问答详情
源自:9-8 访问子节点childNodes

求助!注释里的为什么不对?

<div>
  javascript  
  <p>javascript</p>
  <div>jQuery</div>
  <h5>PHP</h5>
</div>
<script type="text/javascript">
    var divch1=document.getElementsByTagName('div')[0].childNodes;
  
     /* var divch=document.getElementsByTagName('div');
      for(var i =0; i<divch.length ; i++)
    {
        document.write('  节点类型:  ' + divch[i].nodeName + ' '+divch[i].nodeType +' '+ divch[i].nodeValue+'</br>') 
        }
    */
    
    for(var i =0; i<divch1.length ; i++)
    {
        document.write('  节点类型:  ' + divch1[i].nodeName + ' '+divch1[i].nodeType +' '+ divch1[i].nodeValue+'</br>')   
        
        }
 
</script>


var divch1=document.getElementsByTagName('div')[0].childNodes;

这里的divch1不是数组里的一个元素吗?为什么还会有length?

提问者:Unbroken_heart 2015-10-06 11:00

个回答

  • pardon110
    2015-10-06 11:18:30
    已采纳

    你理解错了document.getElementsByTagName('div')[0]与document.getElementsByTagName('div')[0].childNodes并非同种意义。

    注释中的document.getElementsByTagName('div')   表示获取当前页面文档中的div 元素标签,有两个一个外层div与包含jQuery的div;

     var divch1=document.getElementsByTagName('div')[0].childNodes;  表示获取当前页面文档第一个div元素标签中的所有子元素节点。