Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
突出显示文本,并使用JavaScript在突出显示的部分内生成粗体文本_Javascript_Range_Highlight - Fatal编程技术网

突出显示文本,并使用JavaScript在突出显示的部分内生成粗体文本

突出显示文本,并使用JavaScript在突出显示的部分内生成粗体文本,javascript,range,highlight,Javascript,Range,Highlight,我已经在这里做了一些示例:[http://jsfiddle.net/8mdX4/731/] 但它不会高亮显示所有选定的文本。它应该突出显示文本“m ipsum dolor sit ame”,并在突出显示的文本中使用粗体文本“um dolor si”,但文本“m ips”将保持不高亮显示 有什么办法可以解决这个问题或解决问题吗?我刚刚在这个线程中找到了解决方案: 这是非常简单的解决方法。我有一个范围应该突出显示,在突出显示的范围内有多个范围应该粗体显示 首先,我必须处理粗体文本,因为在这之前,如

我已经在这里做了一些示例:
[http://jsfiddle.net/8mdX4/731/]
但它不会高亮显示所有选定的文本。它应该突出显示文本“m ipsum dolor sit ame”,并在突出显示的文本中使用粗体文本“um dolor si”,但文本“m ips”将保持不高亮显示


有什么办法可以解决这个问题或解决问题吗?

我刚刚在这个线程中找到了解决方案:

这是非常简单的解决方法。我有一个范围应该突出显示,在突出显示的范围内有多个范围应该粗体显示

首先,我必须处理粗体文本,因为在这之前,如果我使用“document.execCommand(“BackColor”,false,color);”高亮文本,它会破坏我的“粗体范围”

所以,解决方案是用如下元素替换或包装“粗体范围”的文本内容:

if (boldRange) {
   boldRange.deleteContents();
   var newContents = document.createElement('b');
   newContents.textContent = 'text that would be bolded';
   boldRange.insertNode(newContents)
}
此处演示了其工作原理示例: