Javascript 将所选内容替换为其他文本

Javascript 将所选内容替换为其他文本,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试用另一个文本替换所选文本。 考虑以下是文本行。 你好,世界。早上好。你好,世界。早上好 在这里,如果我选择secondmorningtext,并希望将morning text替换为night。因此,输出需要如下所示: 你好,世界。早上好。你好,世界。晚安 我尝试了替换功能,但它正在替换第一个早上的文本。 有人能提出解决方案吗?要获取HTML5中的当前选择,请使用 要编辑选择,可以使用 另见: 如果使用jQuery,则使用获取HTML5中的当前选择,使用 要编辑选择,可以使用 另见: 如

我正在尝试用另一个文本替换所选文本。
考虑以下是文本行。

你好,世界。早上好。你好,世界。早上好

在这里,如果我选择second
morning
text,并希望将morning text替换为night。因此,输出需要如下所示:

你好,世界。早上好。你好,世界。晚安

我尝试了替换功能,但它正在替换第一个早上的文本。

有人能提出解决方案吗?

要获取HTML5中的当前选择,请使用

要编辑选择,可以使用

另见:


如果使用jQuery,则使用

获取HTML5中的当前选择,使用

要编辑选择,可以使用

另见:


如果您使用jQuery,那么使用

您可以这样做:

函数交换选择(swapText){
var sel=window.getSelection?window.getSelection():document.selection.createRange();
如果(sel!=“”){
如果(选择getRangeAt){
var范围=选择范围(0);
var newNode=document.createElement(“span”);
setAttribute('class','swapclass');
range.surroundContents(newNode);
}否则{
sel.pasteHTML(“”+sel.htmlText+“”);
}
$('.swapclass')。替换为(swapText);
}
}
$(“按钮”)。单击(函数(){
交换选举(“夜晚”);
});

您可以这样做:

函数交换选择(swapText){
var sel=window.getSelection?window.getSelection():document.selection.createRange();
如果(sel!=“”){
如果(选择getRangeAt){
var范围=选择范围(0);
var newNode=document.createElement(“span”);
setAttribute('class','swapclass');
range.surroundContents(newNode);
}否则{
sel.pasteHTML(“”+sel.htmlText+“”);
}
$('.swapclass')。替换为(swapText);
}
}
$(“按钮”)。单击(函数(){
交换选举(“夜晚”);
});

此文本位于何处?在
文本区域
/
输入
或DOM元素的部分文本中?您对所选文本或替换文本有问题吗?您可以使用
str.replace(/\\n/g,
)替换所有出现的内容(取自)类似问题此文本位于何处?在
文本区域
/
输入
或DOM元素的部分文本中?您对所选文本或替换文本有问题吗?您可以使用
str.replace(/\\n/g,
)替换所有出现的内容(摘自)类似问题你能给我一个示例,帮助我获得清晰的想法吗?你能给我一个示例,帮助我获得清晰的想法吗?谢谢你的快速响应。这对我的快速响应很有效。这对我很有效
function swapSelection(swapText) {
  var sel = window.getSelection ? window.getSelection() : document.selection.createRange();
  if (sel != "") {
    if (sel.getRangeAt) {
      var range = sel.getRangeAt(0);
      var newNode = document.createElement("span");
      newNode.setAttribute('class', 'swapclass');
      range.surroundContents(newNode);
    } else {
      sel.pasteHTML('<span class="swapclass">' + sel.htmlText + '</span>');

    }
    $('.swapclass').replaceWith(swapText);
  }
}

$('button').click(function () {
  swapSelection('night');
});