您是对的,上面的代码只能处理单个下拉菜单中的选项。如果您想要同时处理多个下拉菜单中的选项,可以考虑将两个函数合并成一个函数,并在函数中添加一些逻辑来处理不同的选项。
以下是一个示例代码,用于同时处理文字颜色和文字大小:
```
function applyStyle(styleType, styleValue) {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const element = document.createElement(styleType);
element.innerHTML = range.toString();
if (styleType === 'span') {
element.style.color = styleValue;
} else if (styleType.startsWith('h')) {
element.setAttribute('class', `header-${styleValue}`);
}
range.deleteContents();
range.insertNode(element);
selection.removeAllRanges();
selection.addRange(range);
}
}
```
这个函数接受两个参数:`styleType`表示样式类型,可以是`span`或以`h`开头的标题类型;`styleValue`表示样式值,可以是颜色字符串或标题级别数字。
在函数内部,我们首先创建一个新元素,然后根据样式类型和样式值设置元素的属性。最后,我们将新元素插入到选区中,并重新设置选区范围。
使用此函数,您可以轻松地处理多个下拉菜单中的选项,例如:
```
// 处理文字颜色
applyStyle('span', 'red');
// 处理标题类型
applyStyle('h2', '2');
```
这样,您就可以同时处理文字颜色和文字大小了。