这段代码包含了两个函数,一个用于将选区中的文本转换为指定类型的标题并保留原有样式,另一个用于将选区中的文本设置为指定颜色。
第一个函数`setHeader()`已经在之前的回答中进行了详细解释。下面我们来看一下第二个函数`changeColor(color)`的实现。
该函数使用了`Selection`和`Range` API来手动处理选区和范围。具体来说,它创建了一个新的`span`元素,并将选区中的文本添加到其中。然后,它设置了`span`元素的颜色属性,并将其插入到选区中。最后,它重新设置了选区。
以下是`changeColor(color)`函数的示例代码:
```
function changeColor(color) {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const span = document.createElement('span');
span.style.color = color;
span.innerHTML = range.toString();
range.deleteContents();
range.insertNode(span);
selection.removeAllRanges();
selection.addRange(range);
}
}
```
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。