This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The replaceData() method of the CharacterData interface removes a certain number of characters of the existing text in a given CharacterData node and replaces those characters with the text provided.
replaceData(offset, count, data)
offsetThe number of characters from the start of the data to insert at. 0 is the first character of the string.
countThe number of characters to replace with the provided data.
dataThe data to insert.
None.
IndexSizeError DOMException
Thrown if offset or count is negative or offset is greater than the length of the contained data.
<span>Result: </span>A long string.
const span = document.querySelector("span");
const textNode = span.nextSibling;
textNode.replaceData(2, 4, "replaced");
| Specification |
|---|
| DOM> # dom-characterdata-replacedata> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
replaceData |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
© 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/replaceData