2010-06-02 5 views
0

Я хочу заменить некоторый выделенный символ из моей текстовой области некоторой строкой. Для этого я написал следующий код JavaScriptЗамена текста с использованием 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 улучшить этот код, чтобы я мог выполнять свою работу в одной строке.

Благодаря

ответ

1

Вы, вероятно, хотите сделать что-то вроде:

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

replace не имеет каких-либо побочных эффектов: он возвращает новую строку, так что вам нужно, чтобы назначить его, чтобы сохранить изменения вокруг.