DOM节点操作(节点的增删改查)

254 阅读1分钟

一 DOM节点

DOM节点:DOM树里面的每一个内容都是节点

节点类型

1.元素节点(比较重要)

2.属性节点

3.文本节点

4.其他

二 查找节点

节点关系

1.父节点

  • parentNode属性
  • 返回最近一级的父节点,找不到返回null
 子元素.parentNode

关闭多个二维码小案例

   <!DOCTYPE html>
    <html lang="en">

    <head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>关闭二维码</title>
<style>
    div {
        width: 300px;
        height: 500px;
        margin: 100px auto;
        position: relative;
        background-color: aqua;
    }
    
    img {
        width: 100%;
        height: 100%;
    }
    
    span {
        position: absolute;
        font-size: 30px;
    }
</style>
      </head>

     <body>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>
<div class="wrap">
    <img src="../img/ouwenvx.jpg" alt="">
    <span class="dianji">x</span>
</div>

     </body>
       <script>
// 获取元素 关闭按钮
let dianji = document.querySelectorAll('.dianji')
    // 绑个多个点击事件
for (let i = 0; i < dianji.length; i++) {
    dianji[i].addEventListener('click', function() {
        alert(11)
        this.parentNode.style.display = 'none'
    })
}
       </script>

      </html>

2.子节点

-childNodes

获取所欲子节点包括文本节点(空格换行)注释节点等

-children

  • 仅获得所有元素节点

  • 返回的还是一个伪数组

    父元素.children
    

3.兄弟节点

  • 下一个兄弟节点

           nextElementSibling属性
    
  • 上一个兄弟节点

         previousEliemmentSlibing属性
    

三 增加节点(追加节点)

  1. 创建一个新的元素节点

    document.createElement('标签名')
    
    

2.追加节点(后面追加)

    父元素.appendChild(子元素)

3.插入父元素中某个子元素前面

 父元素.insertBefore(要插入的元素,在那哪个元素前面放入)

4.复制一个节点放入指定的元素内部 克隆节点

   元素.cloneNode(布尔值)
  • 为true则代表克隆是会包含后代元素节点一起克隆

  • 为false则代表克隆时不包含后代节点

  • 默认false

四 删除节点

通过父元素删除

父元素.removeChild(要删除的元素)
  • 如果不存在父子关系删除不成功

  • 删除节点和隐藏节点有区别的

  • 隐藏节点是还存在的但是删除是从html中删除节点