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
HierarchyRequestErrorDOMException-
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, keinElementoder keineCharacterDataist. - Wenn dieser
CharacterData-Knoten tatsächlich einText-Knoten ist und dessen Elternteil einDocumentist. - Wenn das Elternteil dieses
CharacterData-Knotens einDocumentist und einer der einzufügenden Knoten einDocumentFragmentmit 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①> |
Browser-Kompatibilität
Loading…