我几天都在搜索这个,但我找到的所有内容都是选中的文字。我需要在与“test”匹配的contendEditable DIV中“加粗”所有单词。
我一直在搞乱从DIV获取innerText并用粗体更改那些单词,但光标会丢失,当再次使用innerHTML进行更改时,光标会在开头处进行。所以我开始直接在DIV上搜索这些更改,并且我发现它唯一的execCommand,但据我所知,你必须先选择文本,然后逐个进行更改。我想阅读所有的DIV并在飞行中做出改变,这是真的吗?有没有办法将execCommand与regex结合使用?
拜托,给我点亮一点! :)
答案 0 :(得分:0)
如果你想在一个可信的div中加粗单词,那相当于在给定的单词周围放置<strong>
标签。
所以,我相信你的问题可以通过首先定义一个RegExp来解决,其中包含一个&#39;&#39;全球的旗帜
var boldText = "test"
var testRegEx = new RegExp(boldText, "g")
然后,其中$ div是表示要修改其内容的div(或者一个)集合的JQuery对象:
$div.html($div.html().replace(textRegEx,"<strong>" + boldText + "</strong>"))