Inserts the node
newChild
before the existing child node
refChild
. If
refChild
is
null
, insert
newChild
at the end of the list of children.
If
newChild
is a
DocumentFragment
object, all of its children are inserted, in the same order, before
refChild
. If the
newChild
is already in the tree, it is first removed.
Note: Inserting a node before itself is implementation dependent.
@param newChild The node to insert.
@param refChild The reference node, i.e., the node before which the new node must be inserted.
@return The node being inserted.
@exception DOMException HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild
node, or if the node to insert is one of this node's ancestors or this node itself, or if this node is of type Document
and the DOM application attempts to insert a second DocumentType
or Element
node.
WRONG_DOCUMENT_ERR: Raised if newChild
was created from a different document than the one that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if the parent of the node being inserted is readonly.
NOT_FOUND_ERR: Raised if refChild
is not a child of this node.
NOT_SUPPORTED_ERR: if this node is of type Document
, this exception might be raised if the DOM implementation doesn't support the insertion of a DocumentType
or Element
node.
@since DOM Level 3