CharacterData: before() 方法

Baseline 已广泛支持

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

CharacterData 接口的 before() 方法会在 CharacterData 节点的父级的子节点列表中,在 CharacterData 节点之前插入一系列 Node 对象和字符串。

字符串会被插入为 Text 节点;该字符串被当作参数传递给 Text() 构造函数。

语法

js
before(...nodes)

参数

nodes

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

返回值

无(undefined)。

异常

HierarchyRequestError DOMException

在无法在指定位置插入新节点时抛出,即满足以下任一条件时:

示例

before() 方法允许你在不改变当前节点数据的情况下,在 CharacterData 节点前插入新的节点。

js
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");

h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]

h1TextNode.data;
// "CharacterData.before()"

规范

规范
DOM
# ref-for-dom-childnode-before①

浏览器兼容性

另见