wedAPls-day03

69 阅读1分钟

一.节点

1.元素节点

DOM树里每一个内容都称之为节点

2.获取节点

2.1子找父

parentNode可以查找到当前节点的最近一级的父节点

如果找到则返回一个dom元素,找不到则返回null

<div class="box">
      <p>我是p元素</p>
    </div>

    <script>
      let p = document.querySelector('p')
      let box = document.querySelector('.box')
      // parentNode:获取当前节点的最近的上一级--父节点
      console.log(p.parentNode)   // <div class="box">...</div>
      console.log(box.parentNode)   // <boay>...</body>
      // document.body --- body
      // console.log(document.body.parentNode)
      // // document.documentElement -- html
      // console.log(document.documentElement.parentNode)
    </script>
    

关闭二维码-一个(案例)

image.png 2.2 父找子

childNodes-获取所有类型的子节点,包含 注释,文本。。。(不常用)

children只会获取元素节点 (常用)

<div class="box">
      <!-- 这是注释 -->
      <p>aaaa</p>
      <span>span</span>
      这是字
    </div>

    <script>
      let box = document.querySelector('.box')
      console.log(box.childNodes) 
      console.log(box.children)  // p,span
    </script>
    

2.3找兄弟
nextElementSibling(下一个兄弟元素)

previousElementSibling(上一个兄弟元素)

如果没有则返回null

<div class="box">
    <p>我是p元素</p>
    <span>我是span</span>
    <h2>我是h2</h2>
  </div>

  <script>
    let span = document.querySelector('span')
    let p = document.querySelector('p')
    let h2 = document.querySelector('h2')

    console.log(h2.nextElementSibling)   // null
    console.log(h2.previousElementSibling)   // <span>我是span</span>
  </script>

3.创建节点

document.createElement('标签名称')

返回创建好的元素

只有元素本身,没有属性和内容,如果需要得自己添加

4.新增节点

添加做父子 做为最后一个子元素 父容器.appendChild(子元素) 放到某个子元素的前面 父容器.insertBefore(需要添加的子元素,参照元素) 如果没有找到参照元素,则默认为appendChild 但是两个参数不能少