Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用JS替换字符串_Jquery_Replace_Contenteditable_Selectedtext - Fatal编程技术网

Jquery 使用JS替换字符串

Jquery 使用JS替换字符串,jquery,replace,contenteditable,selectedtext,Jquery,Replace,Contenteditable,Selectedtext,我有一个可编辑的部分。我想得到用户选择的内容,然后用新字符串替换它 因此,我将希望选择字符串的开始和结束,删除旧字符串,将新字符串放在适当的位置(将更长) 例如: Typed String: 'Hello, World!' Selected String: 'World' String to replace with: '** World **' 我想在所选单词周围添加“星星”,就像StackOverflow将文本加粗一样 我读过无数关于StackOverflow的问题,但没有人能回答这个问题

我有一个可编辑的部分。我想得到用户选择的内容,然后用新字符串替换它

因此,我将希望选择字符串的开始和结束,删除旧字符串,将新字符串放在适当的位置(将更长)

例如:

Typed String: 'Hello, World!'
Selected String: 'World'
String to replace with: '** World **'
我想在所选单词周围添加“星星”,就像StackOverflow将文本加粗一样

我读过无数关于StackOverflow的问题,但没有人能回答这个问题。我试过很多不起作用的片段:P

注意:我使用的是jQuery


谢谢。

此线程基于将所选文本包装在span中。。。非常接近你想要的。代码和小提琴应该给你你所需要的

var str = 'Hello, World!'; var foo = 'World'; var bar = '** World **';

str = str.replace(foo, bar);

此线程基于将所选文本包装在一个span。。。非常接近你想要的。代码和小提琴应该给你你所需要的


只要替换词在文本中是第一个,这将起作用。假设是晚一点,我想用字符串开头的位置来替换。不是replace()函数,该函数仅用另一个词替换该词。只要替换词在文本中是第一个,该函数就可以工作。假设是晚一点,我想用字符串开头的位置来替换。不是replace()函数,它只是用另一个单词替换这个单词。谢谢,那里的代码似乎可以工作。非常感谢你的回答汉克斯,那里的代码似乎有效。非常感谢你的回答我也有同样的问题。“替换当前选择”经常重复的代码片段在chrome content editable中不起作用。。出于某种原因,window.getSelection正在返回contentEditable区域之外的选择(好像有两个选择上下文),我遇到了相同的问题。“替换当前选择”经常重复的代码片段在chrome content editable中不起作用。。出于某种原因,window.getSelection正在返回contentEditable区域之外的选择(好像有两个选择上下文)