# Range.insertNode()

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.

## Syntax

range.insertNode(newNode);

### Parameters

newNode
The Node to insert at the start of the range.

## Example

range = document.createRange();
newNode = document.createElement("p");
newNode.appendChild(document.createTextNode("New Node Inserted Here"));
range.selectNode(document.getElementsByTagName("div").item(0));
range.insertNode(newNode);

## Specifications

Specification Status Comment
DOM
The definition of 'Range.insertNode()' in that specification.
Living Standard No change
Document Object Model (DOM) Level 2 Traversal and Range Specification
The definition of 'Range.insertNode()' in that specification.
Obsolete Initial definition

## Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes299 Yes
Collapsed ranges Yes Yes1499 Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes49 Yes ?
Collapsed ranges Yes Yes Yes149 Yes ?