ContentEditable使用JS替换String

时间:2012-02-28 03:11:06

标签: jquery replace contenteditable selectedtext

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

所以我想要所选字符串的开头和结尾,删除旧字符串,将新字符串放在适当位置(将更长)。

示例:

Typed String: 'Hello, World!'
Selected String: 'World'
String to replace with: '** World **'

我希望在所选单词周围添加“星标”,就像StackOverflow将文字加粗一样。

我已经阅读了StackOverflow上的无数问题,但没有人能回答这个问题。而且我尝试了很多不起作用的片段。 :P

注意:我正在使用jQuery。

感谢。

2 个答案:

答案 0 :(得分:1)

此主题基于在一个范围内包装所选文本...非常接近您想要的内容。代码和小提琴应该为您提供所需的内容

Wrapping a selected text node with span

答案 1 :(得分:0)

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

str = str.replace(foo, bar);