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 |
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.7 or earlier) 14.0 (14.0)[1] | 9.0 | 9.0 | (Yes) |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.0) 14.0 (14.0)[1] | 9.0 | 9.0 | (Yes) |
[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.
© 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