我想用一些字符串替换文本区域中的某些选定字符。 为此,我编写了以下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);
}
但是这段代码在一行中替换一个字符而在另一行中替换另一个字符。对于两行替换代码,它显示四行。
Plz改进了这段代码,这样我就可以在一行中完成我的工作。
由于
答案 0 :(得分:1)
你可能想做类似的事情:
txt = document.selection.createRange().text;
txt = txt.replace(/\[/g, tag).replace(/\]/g, endtag);
document.selection.createRange().text = txt;
replace
没有任何副作用:它会返回一个新字符串,因此您需要指定它以保持更改。