是的,`document.execCommand()`方法已经被弃用,推荐使用更加安全和可靠的替代方案。您可以使用`document.execCommand()`的替代方案之一——`document.execCommand()`的Polyfill实现,例如`execCommand.js`。
使用Polyfill实现后,您可以按照以下方式修改代码:
```
// 获取选定文本
var selection = window.getSelection();
if (selection.rangeCount) {
// 创建一个新的span元素,并设置颜色
var span = document.createElement('span');
span.style.color = color;
// 将选定文本包裹在新的span元素中
var range = selection.getRangeAt(0);
range.surroundContents(span);
}
```
在这个示例中,我们首先获取当前选区的范围。然后,我们创建一个新的``元素,并设置其颜色为指定值。最后,我们使用`range.surroundContents()`方法将选区中的所有文本包裹在新创建的``元素中。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。