We're looking for a person or people to help audit MDN to find places we could speed up. Is this you or someone you know? Check out the RFP: https://mzl.la/2IHcMiE

document.createProcessingInstruction Redirect 1


createProcessingInstruction() creates a new processing instruction node, and returns it.


Processing instruction node = document.createProcessingInstruction(target, data) 


  • Processing Instruction node is a ProcessingInstruction node.
  • target refers to the target part of the processing instruction node (i.e., <?target ... ?>
  • data is a string containing the data to be added to the data within the node.


var docu = new DOMParser().parseFromString('<xml></xml>',  "application/xml")

var pi = docu.createProcessingInstruction('xml-stylesheet', 'href="mycss.css" type="text/css"');

docu.insertBefore(pi, docu.firstChild);

alert(new XMLSerializer().serializeToString(docu));
// Displays: <?xml-stylsheet href="mycss.css" type="text/css"?><xml/>

Exceptions thrown

Thrown if you attempt to create a processing instruction node on an HTML document in Gecko 9 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6) or earlier. In Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) and later, you can use this method on HTML documents.
Thrown if you try to add an invalid processing instruction target (it should be an XML name besides any case combination of the letters "xml") or if the closing processing instruction sequence ("?>") is added as part of the data, so unescaped user-provided data cannot be safely used without escaping or otherwise dealing with such situations.


DOM 4: createProcessingInstruction

Document Tags and Contributors

 Last updated by: Sheppy,