我有一个可编辑的div(id为'editor1'),允许用户输入文本。然后有一个功能可以使他们对任何高亮文本着色。我的js使用window.getSelection().getRangeAt(0)
,但问题在于,他们可以突出显示div之外的单词,它们的颜色也会改变。到目前为止,我已经尝试过:
function red(){
{
var getText = document.getElementById("editor1").innerHTML;
var selection = getText.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var span = document.createElement("span");
span.style.color = "red";
span.appendChild(selectedText);
selection.insertNode(span);
}
}
JSFiddle: https://jsfiddle.net/xacqzhvq/
可以看到,如果我选中 "this will become red as well" 这句话,我想使用按钮只把这些字变成红色。如何只在 editor1 div 中着色?