This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The insertData() method of the CharacterData interface inserts the provided data into this CharacterData node's current data, at the provided offset from the start of the existing data. The provided data is spliced into the existing data.
insertData(offset, data)
offsetThe offset number of characters to insert the provided data at. 0 is the first character of the string.
dataThe data to insert.
None.
IndexSizeError DOMException
Thrown if offset is negative or greater than the length of the contained data.
<span>Result: </span>A string.
const span = document.querySelector("span");
const textNode = span.nextSibling;
textNode.insertData(2, "long ");
| Specification |
|---|
| DOM> # dom-characterdata-insertdata> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
insertData |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
CharacterData.appendData(), CharacterData.deleteData(), CharacterData.replaceData()
CharacterData.data
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CharacterData/insertData