0

我正在尝试编写一个可以保存并显示我在网站中选择的确切位置的函数。

而且我发现getSelection()javascript中的对象是我正在寻找的东西(因为它保存了所有信息)。但现在我试图通过使用getSelection()对象来突出显示我之前选择的位置。

我可以使用 回溯该地点getSelection()吗?我认为应该有一些更好的解决方案,但我现在想不出任何解决方案。

换句话说,我正在尝试保存一些数据,以追溯我选择的确切位置。

有人有什么想法吗?或者更好的解决方案。谢谢。

4

1 回答 1

1

如果您知道父标签是什么,则可以遍历这些标签,并使用正则表达式查找副本在该元素中的位置。

使用类似下面的内容,会将匹配短语的所有实例包装在具有黄色背景的跨度中。

我在以下位置放了一个示例小提琴:http: //jsfiddle.net/TDcKX/2/

function find_phrase(phrase){
    var p_tags = document.getElementsByTagName('p');

    for (var i = 0; i < p_tags.length; i++){
        var p = p_tags[i], regex = new RegExp(phrase, 'g');
        p.innerHTML = p.innerHTML.replace(regex, '<span style="background-color:yellow;">' + phrase + '</span>');
    }
}
于 2013-05-24T11:43:27.917 回答