Node.insertBefore() – Web APIs | MDN

The insertBefore() method of the Node interface
inserts a node before a reference node as a child of a specified parent node.

If the given node already exists in the document,
insertBefore() moves it from its current position to the new position.
(That is, it will automatically be removed from its existing parent
before appending it to the specified new parent.)

This means that a node cannot be in two locations of the document simultaneously.

Note: The Node.cloneNode() can be used to make a copy
of the node before appending it under the new parent. Note that the copies made with
cloneNode() will not be automatically kept in sync.

If the given child is a DocumentFragment, the entire contents of the
DocumentFragment are moved into the child list of the specified parent
node.