0

我想用一些字符串替换我的文本区域中的一些选定字符。为此,我编写了以下 JavaScript 代码

            var old_tag = "[";
         var tag= " <xsl:value-of select = ";
      var endtag= " />";
var txt='';

if(document.selection)
{
 txt = document.selection.createRange().text
 document.selection.createRange().text = txt.replace(/\[/g, tag);
 document.selection.createRange().text = txt.replace(/\]/g, endtag);

}

但是这段代码在一行中替换了一个字符,在另一行中替换了另一个字符。对于两行替换代码,它显示四行。

请改进此代码,以便我可以在一行中完成我的工作。

谢谢

4

1 回答 1

1

您可能想要执行以下操作:

txt = document.selection.createRange().text;
txt = txt.replace(/\[/g, tag).replace(/\]/g, endtag);
document.selection.createRange().text = txt;

replace没有任何副作用:它返回一个新字符串,因此您需要分配它以保持更改。

于 2010-06-02T11:53:18.073 回答