当存在多个标签时,无法突出显示文本

时间:2013-09-10 14:01:41

标签: javascript html

所以我试图通过选择它并单击按钮(标记为获得突出显示的文本)来突出显示文本。

这是它的实现:

http://jsbin.com/uzILUro/1

没有选择具有多个标签的html部分。

即。尝试选择以下段落并通过单击按钮突出显示它。

"The remainder is r when p is divided by k" means p = kq + r; the integer q is called the quotient. For instance, “The remainder is 1 when 7 is divided by 3” means 7 = 3·2 + 1. Dividing both sides of p = kq + r by k gives the following alternative form p/k = q + r/k.

除上述段落外的所有其他作品。

2 个答案:

答案 0 :(得分:1)

您可以在大多数浏览器中使用window.find(),但最近可能会从浏览器中删除MozillaWebKit)。以下是对此的回答:

https://stackoverflow.com/a/5887719/96100

答案 1 :(得分:0)

主要问题是您使用的var searchText = document.getSelection().toString()没有考虑您选择中的开始和结束标记。 相反,您应该尝试使用searchText = newNode.innerHTML

getSelectedText功能中进行这些更改,您应该是金色的。 但是,IE可能需要进行一些额外的更改。