Calling insertBefore on Document Fragments
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. |
Remarks
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.