• JavaScript DOM API中append和appendChild的不同点


    在这里插入图片描述

    Element.append()

    此方法用于以Node对象或DOMString(基本上是文本)的形式添加元素。

    插入一个Node对象

    const parent = document.createElement('div');
    const child = document.createElement('p');
    parent.append(child);
    // 这会将子元素追加到div元素
    // 然后div看起来像这样

    这会将子元素追加到 div 元素,然后 div 看起来像这样

    <div> <p> </ p> </ div>
    

    插入DOMString

    const parent = document.createElement('div');
    parent.append('附加文本');
    

    然后 div 看起来像这样的

    <div>附加文本</ div>
    

    Node.appendChild()

    与 .append 方法类似,该方法用于DOM中的元素,但在这种情况下,只接受一个Node对象。

    插入一个Node对象

    const parent = document.createElement('div');
    const child = document.createElement('p');
    parent.appendChild(child);
    

    这会将子元素追加到 div 元素,然后 div 看起来像这样

    插入DOMString

    const parent = document.createElement('div');
    parent.appendChild('Appending Text');
    // Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'
    

    不同点

    在这里插入图片描述

    .append 接受Node对象和DOMString,而 .appendChild 只接受Node对象。

    const parent = document.createElement('div');
    const child = document.createElement('p');
    // 追加节点对象
    parent.append(child) // 工作正常
    parent.appendChild(child) // 工作正常
    // 追加DOMStrings
    parent.append('Hello world') // 工作正常
    parent.appendChild('Hello world') // 抛出错误
    

    .append 没有返回值,而 .appendChild 返回附加的Node对象。

    const parent = document.createElement('div');
    const child = document.createElement('p');
    const appendValue = parent.append(child);
    console.log(appendValue) // undefined
    const appendChildValue = parent.appendChild(child);
    console.log(appendChildValue) // 

    .append 允许您添加多个项目,而 .appendChild 仅允许单个项目。

    const parent = document.createElement('div');
    const child = document.createElement('p');
    const childTwo = document.createElement('p');
    parent.append(child, childTwo, 'Hello world'); // 工作正常
    parent.appendChild(child, childTwo, 'Hello world');
    // 工作正常,但添加第一个元素,而忽略其余元素
    

    总结
    在可以使用 appendChild 的情况下,可以使用 append,但反过来不行。
    append适用范围更大,但没有返回值。需要返回值时 使用appendchild

  • 相关阅读:
    git 记
    全日制和非全日制之争,看完六年前的这个文件心里就有数了
    十三、队列的特性
    (附源码)springboot宠物医疗服务网站 毕业设计688413
    【Android Framework系列】第15章 Fragment+ViewPager与Viewpager2相关原理
    wordpress 上传附件中文文件名乱码解决办法(for Windows)
    【leaflet】【vue】离线地图及热力图
    Python3的pytesseract和Tesseract-ocr的使用以及自己训练数据集的方法
    【SA8295P 源码分析 (二)】12 - HQX Display(OpenWFD)调试命令介绍
    分布式websocket搭建方案
  • 原文地址:https://blog.csdn.net/qq_43472877/article/details/127089136