CharacterData: before() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
Die before()
-Methode der CharacterData
-Schnittstelle fügt eine Menge von Node
-Objekten und Zeichenfolgen in die Kindliste des Elternteils der CharacterData
just vor dem CharacterData
Knoten ein.
Zeichenfolgen werden als Text
-Knoten eingefügt; die Zeichenfolge wird als Argument an den Text()
-Konstruktor übergeben.
Syntax
before(...nodes)
Parameter
Rückgabewert
Keiner (undefined
).
Ausnahmen
HierarchyRequestError
DOMException
-
Ausgelöst, wenn die neuen Knoten an der angegebenen Stelle in der Hierarchie nicht eingefügt werden können, d.h. wenn eine der folgenden Bedingungen erfüllt ist:
- Wenn das Einfügen eines der hinzugefügten Knoten zu einem Zyklus führen würde, d.h. wenn einer von ihnen ein Vorfahr dieses
CharacterData
-Knoten ist. - Wenn einer der hinzugefügten Knoten kein
DocumentFragment
, keinDocumentType
, keinElement
oder keineCharacterData
ist. - Wenn dieser
CharacterData
-Knoten tatsächlich einText
-Knoten ist und dessen Elternteil einDocument
ist. - Wenn das Elternteil dieses
CharacterData
-Knotens einDocument
ist und einer der einzufügenden Knoten einDocumentFragment
mit mehr als einemElement
-Kind ist oder einText
-Kind hat.
- Wenn das Einfügen eines der hinzugefügten Knoten zu einem Zyklus führen würde, d.h. wenn einer von ihnen ein Vorfahr dieses
Beispiele
Die before()
-Methode erlaubt es Ihnen, neue Knoten vor einem CharacterData
-Knoten einzufügen, ohne die bisherigen Daten des Knotens zu ändern.
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");
h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]
h1TextNode.data;
// "CharacterData.before()"
Spezifikationen
Specification |
---|
DOM # ref-for-dom-childnode-before① |