微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DOM 节点

 

元素节点

  • 我们通过 getElementBy... 获取到的都是元素节点

  • 我们通过 getAttribute 获取的就是元素的属性节点

  • 我们通过 innerText 获取到的就是元素的文本节点

  • childNodes获取一个节点下 所有的子一级节点

<body>
  <div>
    <p>hello</p>
  </div>
  
  <script>
    // 这个 oDiv 获取的是页面中的 div 元素,就是一个元素节点
  	var oDiv = document.querySelector('div')
    
    console.log(oDiv.childNodes) 
    /*
    	NodeList(3) [text, p, text]
      0: text
      1: p
      2: text
      length: 3
      __proto__: NodeList
    */
  </script>
</body>
  • 我们会发现,拿到以后是一个伪数组,里面有三个节点

  • 一个 text:从 <div> 一直到 <p> 中间有一个换行和一堆空格,这个是第一个节点,是一个文本节点

  • 一个 p:这个 p 标签就是第二个节点,这个是一个元素节点

  • 一个 text:从 </p> 一直到 </div> 中间有一个换行和一堆空格,这个是第三个节点,是一个文本节点

  • 这个时候就能看到我们有不同的节点类型了

  • children获取某一节点下所有的子一级 元素节点            
      

    <body>
      <div>
        <p>hello</p>
      </div>
      
      <script>
        // 这个 oDiv 获取的是页面中的 div 元素,就是一个元素节点
      	var oDiv = document.querySelector('div')
        
        console.log(oDiv.children) 
        /*
        	HTMLCollection [p]
          0: p
          length: 1
          __proto__: HTMLCollection
        */
      </script>
    </body>

               

  • 我们发现只有一个节点了,因为 children 只要元素节点

  • div 下面又只有一个元素节点,就是 p

  • 所以就只有一个,虽然只有一个,但是也是一个 伪数组     

  •  children获取某一节点下所有的子一级 元素节点                                             

  • 这个是只获取一个节点,不再是伪数组了

  • 获取的是第一个

  • 一个就是 <div> 一直到 <p> 的那个换行和空格,是个文本节点

    lastChild获取某一节点下子一级的 最后一个节点

<body>
  <div>
    <p>hello</p>
  </div>
  
  <script>
    // 这个 oDiv 获取的是页面中的 div 元素,就是一个元素节点
  	var oDiv = document.querySelector('div')
    
    console.log(oDiv.lastChild) // #text 
  </script>
</body>

  • 获取一个节点,不在是伪数组

  • 获取的是最后一个 元素节点

  • 最后一个元素节点是 <p>world</p>,是一个元素节点

  • nextSibling获取一个节点的 一个兄弟节点

    <body>
      <ul>
        <li id="a">hello</li>
        <li id="b">world</li>
        <li id="c">!!!</li>
      </ul>
      
      <script>
        // 这个 oLi 获取的是页面中的 li 元素,就是一个元素节点
      	var oLi = document.querySelector('#b')
        
        console.log(oLi.nextSibling) // #text
      </script>
    </body>
  •   只获取一个节点,不在是伪数组
  • prevIoUsSibling获取一个节点的 一个兄弟节点

    <body>
      <ul>
        <li id="a">hello</li>
        <li id="b">world</li>
        <li id="c">!!!</li>
      </ul>
      
      <script>
        // 这个 oLi 获取的是页面中的 li 元素,就是一个元素节点
      	var oLi = document.querySelector('#b')
        
        console.log(oLi.prevIoUsSibling) // #text
      </script>
    </body>

原文地址:https://www.jb51.cc/wenti/3282496.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐