var txt = document.createTextNode('AAA-BBB');
txt.replaceData(0, 4, 'DDDD');
var output = txt.data;
Output:
desired
your browser
DDDDBBB
Remarks:
it seems that all relevant browsers support JavaScript try-catch statement therefore all examples are encapsulated with it (it avoids alert-popups)
thanks to White Space Handling in XML 1.0 specification default handling of white-spaces completely depends on XML application (note: WinIE do not preserve white-spaces by default while MacIE and Mozilla does)
during development tested with Mozilla night-builds, Netscape6, MicrosoftInternetExplorer5.5 and Opera5.02 on Windows2000