If the current node is a document fragment, calling insertBefore has the following results, depending on the value of the newChild parameter.
| Node type passed in newChild | Result |
|---|---|
NODE_ATTRIBUTE, NODE_DOCUMENT, NODE_DOCUMENT_TYPE |
Returns an error. These nodes types are not valid as children of a document fragment. |
NODE_CDATA_SECTION, NODE_COMMENT, NODE_ELEMENT, NODE_ENTITY_REFERENCE, NODE_PROCESSING_INSTRUCTION, NODE_TEXT |
Inserts newChild and returns newChild. |
NODE_DOCUMENT_FRAGMENT |
Inserts the children of the document fragment (newChild) and returns newChild. |
NODE_ENTITY, NODE_NOTATION |
Returns an error. Entities and notations are read-only and cannot be inserted into a document. |
If newChild is a node of type DOCUMENT_FRAGMENT, all its children are inserted, in the same order, before refChild.
If an entity reference is added as a child to a document fragment, the namespace declaration of the entity reference is added to the containing element.