Javascript 在contentEditable DIV中大量替换

Javascript 在contentEditable DIV中大量替换,javascript,regex,Javascript,Regex,我已经搜索了几天了,但是我找到的所有内容都是经过选择的文本。我需要将与test匹配的可争用DIV中的所有单词加粗 我一直在从DIV中获取innerText并用粗体更改这些单词,但是光标丢失了,当再次使用innerHTML惰性更改时,光标会在开始处移动。因此,我开始直接在DIV上搜索这些更改,我发现唯一的更改是execCommand,但据我所知,您必须先选择text,然后逐个进行更改。我想阅读所有的DIV并在飞行中进行更改,这是否可行?有没有办法将execCommand与regex结合起来 请给我

我已经搜索了几天了,但是我找到的所有内容都是经过选择的文本。我需要将与test匹配的可争用DIV中的所有单词加粗

我一直在从DIV中获取innerText并用粗体更改这些单词,但是光标丢失了,当再次使用innerHTML惰性更改时,光标会在开始处移动。因此,我开始直接在DIV上搜索这些更改,我发现唯一的更改是execCommand,但据我所知,您必须先选择text,然后逐个进行更改。我想阅读所有的DIV并在飞行中进行更改,这是否可行?有没有办法将execCommand与regex结合起来


请给我点光!:

如果要加粗contenteditable div中的单词,这相当于在给定单词周围放置标记

因此,我相信您的问题可以通过首先定义一个RegExp来解决,它带有一个“g”标志表示全局变量

var boldText = "test"
var testRegEx = new RegExp(boldText, "g")
然后,$div是JQuery对象,表示您的div集合或要修改其内容的div集合:

$div.html($div.html().replace(textRegEx,"<strong>" + boldText + "</strong>"))

有人帮我吗?谢谢,我不太明白你想要完成什么。对你有什么帮助吗?