Dokument: Methode createProcessingInstruction()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die createProcessingInstruction()-Methode der Document-Schnittstelle erstellt ein neues ProcessingInstruction-Objekt und gibt es zurück.
Syntax
createProcessingInstruction(target, data)
Parameter
target-
Ein String, der den ersten Teil der Verarbeitungsanweisung enthält (d.h.
<?target … ?>) data-
Ein String, der alle Informationen enthält, die die Verarbeitungsanweisung nach dem Target tragen sollte. Die Daten können jedes Zeichenmuster enthalten, außer dass sie nicht
?>enthalten dürfen, da dies die Verarbeitungsanweisung schließt.
Rückgabewert
- Ein
ProcessingInstruction-Knoten.
Ausnahmen
InvalidCharacterErrorDOMException-
Wird ausgelöst, wenn eines der folgenden zutrifft:
- Der
target-Wert ist kein gültiger XML-Name; zum Beispiel, wenn er mit einer Zahl, einem Bindestrich oder einem Punkt beginnt oder Zeichen enthält, die keine alphanumerischen Zeichen, Unterstriche, Bindestriche oder Punkte sind. - Die abschließende Verarbeitungsanweisungssequenz (
?>) ist als Teil desdata-Wertes enthalten.
- Der
Beschreibung
Die Methode createProcessingInstruction() erstellt eine neue Verarbeitungsanweisung. Der neue Knoten wird üblicherweise in ein Dokument eingefügt, um eine Aufgabe damit zu erledigen, mit einer Methode wie node.insertBefore.
Ursprünglich wurden ProcessingInstruction-Knoten nur in XML-Dokumenten unterstützt, nicht in HTML-Dokumenten. In nicht unterstützenden Browsern wird eine Verarbeitungsanweisung als Kommentar interpretiert und im DOM-Baum als Comment-Objekt dargestellt.
Beispiele
>Grundlegende Nutzung
Dieses Beispiel erstellt eine <xml-stylesheet>-Verarbeitungsanweisung und fügt sie oben in ein Beispiel-XML-Dokument ein.
const doc = new DOMParser().parseFromString("<foo />", "application/xml");
const pi = doc.createProcessingInstruction(
"xml-stylesheet",
'href="mycss.css"',
);
doc.insertBefore(pi, doc.firstChild);
console.log(new XMLSerializer().serializeToString(doc));
// Displays: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/>
Spezifikationen
| Spezifikation |
|---|
| DOM> # ref-for-dom-document-createprocessinginstruction①> |