• JavaScript 67 JavaScript HTML DOM 67.12 JavaScript HTML DOM 元素(节点)


    JavaScript

    67 JavaScript HTML DOM

    67.12 JavaScript HTML DOM 元素(节点)

    添加和删除节点(HTML 元素)

    67.12.1 创建新 HTML 元素(节点)

    如需向 HTML DOM 添加新元素,必须首先创建这个元素(元素节点),然后将其追加到已有元素。

    <div id="div1">
    <p id="p1">这是一个段落。p>
    <p id="p2">这是另一个段落。p>
    div>
    
    <script>
    var para = document.createElement("p");
    var node = document.createTextNode("这是新文本。");
    para.appendChild(node);
    
    var element = document.getElementById("div1");
    element.appendChild(para);
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    【解释】

    创建了一个新的

    元素:

    var para = document.createElement("p");
    
    • 1

    创建了一个文本节点:【如需向

    元素添加文本,则必须首先创建文本节点】

    var node = document.createTextNode("这是一个新段落。");
    
    • 1

    元素追加这个文本节点:

    para.appendChild(node);
    
    • 1

    最后需要向已有元素追加这个新元素。

    ① 查找一个已有的元素:

    var element = document.getElementById("div1");
    
    • 1

    ② 向这个已有的元素追加新元素:

    element.appendChild(para);
    
    • 1
    67.12.2 创建新 HTML 元素 - insertBefore()

    前面例子中的 appendChild() 方法,追加新元素作为父的最后一个子。

    除此之外还可以使用 insertBefore() 方法:

    这是一个段落。

    这是另一个段落。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    67.12.3 删除已有 HTML 元素

    使用 remove() 方法:

    This is a paragraph.

    This is another paragraph.

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    【解释】

    这个 HTML 文档包含一个带有两个子节点(两个

    元素)的

    元素:

    This is a paragraph.

    This is another paragraph.

    • 1
    • 2
    • 3
    • 4

    找到需要删除的元素:

    const elmnt = document.getElementById("p1");
    
    • 1

    然后对该元素执行 remove() 方法:

    elmnt.remove();
    
    • 1

    **注意:**remove() 方法在旧浏览器中不起作用

    67.12.4 删除子节点

    对于不支持 remove() 方法的浏览器,必须找到父节点才能删除一个元素:

    This is a paragraph.

    This is another paragraph.

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    【解释】

    此 HTML 文档包含一个带有两个子节点(两个

    元素)的

    元素:

    This is a paragraph.

    This is another paragraph.

    • 1
    • 2
    • 3
    • 4

    找到 id="div1" 的元素:

    const parent = document.getElementById("div1");
    
    • 1

    找到 id="p1"

    元素:

    const child = document.getElementById("p1");
    
    • 1

    从父元素中删除子:

    parent.removeChild(child);
    
    • 1

    这是一个常见的解决方法:找到要删除的子节点,并使用其 parentNode 属性找到父节点:

    const child = document.getElementById("p1");
    child.parentNode.removeChild(child);
    
    • 1
    • 2
    67.12.5 替换 HTML 元素

    使用 replaceChild() 方法:

    <div id="div1">
    <p id="p1">这是一个段落。p>
    <p id="p2">这是另一个段落。p>
    div>
    
    <script>
    var para = document.createElement("p");
    var node = document.createTextNode("这是新文本。");
    para.appendChild(node);
    
    var parent = document.getElementById("div1");
    var child = document.getElementById("p1");
    parent.replaceChild(para, child);
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

  • 相关阅读:
    【力扣】300. 最长递增子序列 <动态规划>
    Spring Boot项目在Windows上的自启动策略与Windows自动登录配置
    BUUCTF Java逆向解密 1
    数据结构 - 线段树的运用
    可视化看板有那么多应用场景,该如何快速搭建?可视化工具该如何选择?
    Java 锁种类
    chrome浏览器关闭百度热搜——AdBlock插件
    文件字符流说明
    基于SSM的个人网站的设计与实现
    Flink——实时计算引擎
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127743948