MDN wants to learn about developers like you:

range.insertNode Redirect 1

« DOM Reference « Range

The Range.insertNode() method inserts a node at the start of the Range.

The new node is inserted at the start boundary point of the Range. If the new node is to be added to a text Node, that Node is split at the insertion point, and the insertion occurs between the two text nodes.

If the new node is a document fragment, the children of the document fragment are inserted instead.




The Node to insert at the start of the range.


range = document.createRange();
newNode = document.createElement("p");
newNode.appendChild(document.createTextNode("New Node Inserted Here"));


Specification Status Comment
DOM Living Standard No change.
Document Object Model (DOM) Level 2 Traversal and Range Specification Recommendation Initial specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 1.0 (1.7 or earlier) [1] 9.0 9.0 (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) 1.0 (1.0) [1] 9.0 9.0 (Yes)

Gecko notes

[1] Prior to Gecko 14.0 (Firefox 14.0 / Thunderbird 14.0 / SeaMonkey 2.11), this method had no effect on collapsed ranges. Now it behaves as per the specification.

See also

Document Tags and Contributors

 Last updated by: Sheppy,