DocumentType: before() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The DocumentType.before()
method inserts a set of
Node
objects or strings in the children list of the
DocumentType
's parent, just before the DocumentType
.
Strings are inserted as equivalent Text
nodes.
Syntax
js
before(param1)
before(param1, param2)
before(param1, param2, /* …, */ paramN)
Parameters
param1
, …,paramN
-
A set of
Node
objects or strings to insert.
Return value
None (undefined
).
Exceptions
HierarchyRequestError
DOMException
-
Thrown when the node cannot be inserted at the specified point in the hierarchy.
Examples
Adding a conditional comment
Comment nodes are valid before doctype declarations but not advisable given they trigger quirks mode in IE. A conditional comment works for IE as well, though:
js
let docType = document.implementation.createDocumentType("html", "", "");
let myDoc = document.implementation.createDocument("", "", docType);
docType.before(
document.createComment("<!--[if !IE]> conditional comment <![endif]-->"),
);
myDoc.childNodes;
// NodeList [<!--[if !IE]> conditional comment <![endif]-->, <!DOCTYPE html>]
Specifications
Specification |
---|
DOM Standard # ref-for-dom-childnode-before① |
Browser compatibility
BCD tables only load in the browser