DOM节点类型

文档中12种不同的节点类型:

这里写图片描述
注意:DocumentType、Comment、Text、CDATASection和Notation没有子节点。

节点的基本属性(在这里只写三个):

1.nodeType属性(返回节点的属性值)

<div id="box"><h2>4</h2><!-- 注释 -->hello</div>
     <script type="text/javascript">
     window.onload=function(){
          var obox=document.getElementById("box");
          for (var i = 0; i < obox.childNodes.length; i++) {
               console.log("nodeType:"+obox.childNodes[i].nodeType+"");                                 
          }  
           console.log(obox.childNodes[0].ELEMENT_NODE === 1);//true
           console.log(obox.childNodes[1].COMMENT_NODE === 8);//true
           console.log(obox.childNodes[2].TEXT_NODE === 3);//true  
     }

nodeType

2.nodeName属性(返回节点的名称)

<div id="box"><h2>4</h2><!-- 注释 -->hello</div>
     <script type="text/javascript">
     window.onload=function(){
          var obox=document.getElementById("box");
          for (var i = 0; i < obox.childNodes.length; i++) {    
               console.log("nodeName:"+obox.childNodes[i].nodeName+"");                    
          } 
     }
     </script>

nodeName
3.nodeValue属性(返回或设置当前节点的值,格式为字符串)

 <div id="box"><h2>4</h2><!-- 注释 -->hello</div>
     <script type="text/javascript">
     window.onload=function(){
          var obox=document.getElementById("box");
          for (var i = 0; i < obox.childNodes.length; i++) {
                console.log("nodeValue:"+obox.childNodes[i].nodeValue+"");
          } 
     }
     </script>

nodeValue

注意1:obox.childNodes返回的是id为box盒子里所有的节点(obox下的第一级child节点)

      这里只有三个,(H2、注释、hello),就算H2里面还有其他节点。

注意2:空格和换行符会被解释成节点

<div id="box">
      <p>1</p>
      <p>2</p>
      <p>3</p>
      <p>4</p>
</div>
     <script type="text/javascript">
         var obox=document.getElementById("box");
         console.log(obox.childNodes.length); //9                       
     </script>

一开始我也以为长度会是4,但是每个p标签前后都是有空格(5个)的。

 console.log(obox.childNodes[0].nodeType);//3 
 console.log(obox.childNodes[0].nodeName);//#text

最后如果只想要返回元素节点的长度可以用:
ele.childElementCount 方法或者 ele.children.length方法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值