July 5, 2001 - Replacing DOM Substrings | WebReference

July 5, 2001 - Replacing DOM Substrings

Yehuda Shiran July 5, 2001
Replacing DOM Substrings
Tips: February 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

Internet Explorer 6 offers greater functionality than Internet Explorer 5.5, as far as text manipulation is concerned. The replaceData() method is one example. Operating on text nodes, it replaces a substring from the text node data. You can specify the offset of the substring and its length, as well as the new string to insert. Here is the syntax:

textObj.replaceData(offset, count, data);

where:

offset is a long integer value indicating the offset of the substring to be replaced, in characters, from the beginning of the string.
  • count is a long integer value indicating the number of characters to replace, starting from the specified offset.
  • data is a string to insert instead of the replaced substring.

    Let's create a text node at the document level. We put the following line in the header of this tip:

    txtObj = document.createTextNode("Doc JavaScript BiWeekly Columns");

    and then let's replace a substring that starts at offset 15 and of length 16, with "Daily Tips". Click this button to make it happen in both Netscape 6 and Internet Explorer 6 ("Doc JavaScript Daily Tips"). Click in Internet Explorer 5.x and get an error message:

    Here is the definition of this button:

    <FORM>
    <INPUT TYPE="button" VALUE="Replace a Substring" onClick="javascript:handleClick()">
    </FORM>

    And here is the definition of the event handler above:

    function handleClick() {
      txtObj.replaceData(15, 16, "Daily Tips");
      alert(txtObj.data);
    }