Element:prepend() 方法

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有浏览器中可用。

Element.prepend() 方法在 Element 的第一个子元素之前插入一组 Node 对象或字符串。字符串会被插入为等效的 Text 节点。

语法

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

参数

param1, …, paramN

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

返回值

无(undefined)。

异常

HierarchyRequestError DOMException

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

示例

插入元素

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

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

插入文本

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

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

插入元素和文本

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

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

prepend 方法是不可作用域的

prepend() 方法不会作用于 with 语句。更多信息请参见 Symbol.unscopables

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

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

规范

规范
DOM
# ref-for-dom-parentnode-prepend①

浏览器兼容性

另见