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.
range.insertNode(newNode);
Node to insert at the start of the range.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);
| 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 |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | Yes | Yes | 2 | 9 | 9 | Yes |
| Collapsed ranges | Yes | Yes | 14 | 9 | 9 | Yes |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | Yes | Yes | Yes | 4 | 9 | Yes | ? |
| Collapsed ranges | Yes | Yes | Yes | 14 | 9 | Yes | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Range/insertNode