0

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

这是它的实现:

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.

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

4

2 回答 2

1

您可以window.find()在大多数浏览器中使用,尽管将来可能会从浏览器中删除它(MozillaWebKit)。这是一个答案:

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

于 2013-09-11T08:25:27.593 回答
0

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

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

于 2013-09-11T07:00:48.407 回答