元素:append() 方法

Element.append() 方法在 Element 的最后一个子节点之后插入一组 Node 对象或字符串。字符串将作为等效的 Text 节点插入。

Node.appendChild() 的区别

  • Element.append() 允许您追加字符串,而 Node.appendChild() 只能接受 Node 对象。
  • Element.append() 没有返回值,而 Node.appendChild() 返回追加的 Node 对象。
  • Element.append() 可以追加多个节点和字符串,而 Node.appendChild() 只能追加一个节点。

语法

js
append(param1)
append(param1, param2)
append(param1, param2, /* …, */ paramN)

参数

param1, …, paramN

要插入的一组 Node 对象或字符串。

返回值

无 (undefined).

异常

HierarchyRequestError DOMException

当节点无法插入到层次结构中的指定位置时抛出。

示例

追加元素

js
let div = document.createElement("div");
let p = document.createElement("p");
div.append(p);

console.log(div.childNodes); // NodeList [ <p> ]

追加文本

js
let div = document.createElement("div");
div.append("Some text");

console.log(div.textContent); // "Some text"

追加元素和文本

js
let div = document.createElement("div");
let p = document.createElement("p");
div.append("Some text", p);

console.log(div.childNodes); // NodeList [ #text "Some text", <p> ]

append 方法是无范围的

append() 方法不受 with 语句的范围限制。有关更多信息,请参阅 Symbol.unscopables

js
let div = document.createElement("div");

with (div) {
  append("foo");
}
// ReferenceError: append is not defined

规范

规范
DOM 标准
# ref-for-dom-parentnode-append①

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅