同一节点

时间:2018-01-17 14:53:01

标签: javascript html selection

我正在尝试更改HTML节点上的选择的背景颜色。我可以这样做,直到我在同一元素中有多个选择。下面的图片是我目前能够做的: enter image description here

这两个选项是否可以有不同的颜色,而它们在同一个节点中?

修改

以下是我想要的:

enter image description here

编辑2添加代码

var index = getIndexOfText();
var multiple = checkMultiple();
var selection = window.getSelection();
if(index > -1) {
    var range = document.createRange();
    var clone;

    if(multiple) {

        range.setStart(ele, sI);
        range.setEnd(ele, sI + sE);
        clone = range.cloneRange();
    } else {
        range.setStart(ele, sI);
        range.setEnd(ele, sI + sE);
    }

    selection.addRange(range);
    while(index >= 0 && multiple) {
        index = ele.textContent.indexOf(ranges[i].text, index + ranges[i].text.length);
        if(index > -1) {
            selIndex = index;
            selEnd = ranges[i].text.length;
            clone.setStart(ele, selIndex);
            clone.setEnd(ele, selIndex + selEnd);
            console.log(multiple, index);
            selection.addRange(clone);
        }
    }
}

0 个答案:

没有答案