CharacterData: Methode before()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.
Die Methode before() der Schnittstelle CharacterData fügt eine Reihe von Node-Objekten oder Zeichenfolgen in die Liste der Kindknoten des Elternknotens dieses CharacterData-Knotens ein, unmittelbar vor diesem CharacterData-Knoten. Zeichenfolgen werden als entsprechende Text-Knoten eingefügt. Wenn parentNode null ist, geschieht nichts.
Syntax
before(param1)
before(param1, param2)
before(param1, param2, /* …, */ paramN)
Parameter
param1, …,paramN-
Eine Reihe von
Node-Objekten oder Zeichenfolgen, die eingefügt werden sollen.
Rückgabewert
Keiner (undefined).
Ausnahmen
HierarchyRequestErrorDOMException-
Wird ausgelöst, wenn die neuen Knoten nicht an der angegebenen Stelle in der Hierarchie eingefügt werden können, das heißt, wenn eine der folgenden Bedingungen erfüllt ist:
- Das Einfügen eines der hinzuzufügenden Knoten würde zu einem Zyklus führen, das heißt, einer von ihnen ist ein Vorfahr dieses
CharacterData-Knotens. - Einer der hinzuzufügenden Knoten ist weder ein
DocumentFragmentnoch einDocumentType, einElementoder einCharacterData. - Dieser
CharacterData-Knoten ist einText-Knoten und sein Elternknoten ist einDocument. - Der Elternknoten dieses
CharacterData-Knotens ist einDocument, und einer der einzufügenden Knoten ist einDocumentFragmentmit mehr als einemElement-Kindknoten oder mit einemText-Kindknoten.
- Das Einfügen eines der hinzuzufügenden Knoten würde zu einem Zyklus führen, das heißt, einer von ihnen ist ein Vorfahr dieses
Beispiele
Mit der Methode before() können Sie neue Knoten vor einem CharacterData-Knoten einfügen, ohne die Daten des bestehenden Knotens zu verändern.
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");
h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]
h1TextNode.data;
// "CharacterData.before()"
Spezifikationen
| Spezifikation |
|---|
| DOM> # ref-for-dom-childnode-before①> |