Element:prepend() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Element.prepend() 方法将在当前元素的第一个子节点之前插入一组 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("一些文本");
div.prepend("标题:");

console.log(div.textContent); // “标题:一些文本”

在元素前插入元素和文本

js
let div = document.createElement("div");
let p = document.createElement("p");
div.prepend("一些文本", p);

console.log(div.childNodes); // NodeList [ #text "一些文本", <p> ]

prepend 方法是不可绑定作用域的

prepend() 方法无法绑定到 with 语句中的作用域。有关更多信息,请参阅 Symbol.unscopables

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

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

规范

Specification
DOM
# ref-for-dom-parentnode-prepend①

浏览器兼容性

BCD tables only load in the browser

参见