Element:append() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

Element.append() 方法將一系列 Node 物件或字串插入到 Element 的最後一個子節點之後。字串將被插入為等效的 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①

瀏覽器相容性

另見