DOM — 元素的增删改查

这篇博客详细介绍了如何使用JavaScript进行DOM操作,包括使用createElement创建元素,通过className或classList添加、删除类名,将元素添加到文档树,删除元素,以及使用cloneNode进行元素克隆。还展示了如何使用insertBefore方法插入节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建元素:document.createElement()用 此方法创建的元素只保存在内存中,而不会渲染到页面上。

        // 创建一个div标签
        var box2 = document.createElement("div")
        // createElement()括号内填入的是要创建的标签名

2.给标签添加类名:

有两种方法:(1)直接使用 x.className给标签添加

        // 创建一个div标签
        // createElement()括号内填入的是要创建的标签名
        var box2 = document.createElement("div")
        
        // 添加类名
        box2.className = "box2"

        (2)使用 x.classList.add()方法,此方法的优点是可以多次调用,给元素添加多个类名,并且当多次调用添加的类名相同时,只会添加相同的一个类名

        // 创建一个div标签
        // createElement()括号内填入的是要创建的标签名
        var box2 = document.createElement("div")
        
        // 添加类名,给div设置了两个类名
        box2.classList.add("box2")
        box2.classList.add("box3")

        并且要删除类名时,也可以调用 x.classList.remove()来删除某个类名

        // 创建一个div标签
        // createElement()括号内填入的是要创建的标签名
        var box2 = document.createElement("div")
        
        // 添加类名,给div设置了两个类名
        box2.classList.add("box2")
        box2.classList.add("box3")
        // 删除一个类名
        box2.classList.remove("box3")

3. 将创建的元素添加到文档树中,也就是渲染到页面上。

       使用 x.appendChild(y)   把y节点对象添加到x节点中

        // 获取
        var box = document.querySelector("#box")
        // 创建一个div标签
        // createElement()括号内填入的是要创建的标签名
        var box2 = document.createElement("div")
        
        // 添加类名
        // box2.className = "box2"
        box2.classList.add("box2")
        box2.classList.add("box3")
        // 删除一个类名
        box2.classList.remove("box3")
        // 添加到文档树
        box.appendChild(box2)

4.删除元素

        (1)父元素删除子元素

        var box = document.querySelector("#box")
        // 1.父元素删除子元素
        box.parentElement.removeChild(box)

        (2)元素自己移除

         var box = document.querySelector("#box")
         // 2.自己移除
         box.remove()

        (3)元素直接全部清空自己

        var box = document.querySelector("#box")
        // 3.清空自己
        box.parentElement.innerHTML = ""

5.克隆: 使用 x.cloneNode() 方法

        var box = document.querySelector("#box")
        // var box2 = box.cloneNode(true) //参数为true,会连同box的后代元素和所有事件 一起克隆
        var box2 = box.cloneNode()  //不会克隆事件等
        box.appendChild(box2)

6.插入节点: x.insertBefore()

<body>
    
    <div class="box">
        <div class="box2">aaa</div>
        <div class="box2">bbb</div>
        <div class="box2">ccc</div>
        <div class="box2">ddd</div>
    </div>

    <script>

        var box = document.querySelector(".box")
        var a1 = document.createElement("h1")
        a1.innerHTML = 666
        // 在box的下标为2的子元素之前添加一个元素
        box.insertBefore(a1,box.children[2])

    </script>

</body>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z_小张同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值