我是JavaScript的新手,正在尝试编写一个简单的荧光笔工具。每个函数都可以正常工作,但是在组合时,出现次数将无法正常工作。这是我的代码http://jsfiddle.net/mrBXu/,问题是当您第一次选择任何“ The”时,出现的效果很好,但是,如果您重新选择它,那就不对了。谢谢您的帮助!
最佳答案
不幸的是,您要尝试做的并不容易。它在第二次尝试中不起作用的原因是,您插入了一个跨度以突出显示。第一次选择文本时,您的startContainer是一个位于“ p”标记内的textNode。第二次选择时,startContainer是一个textNode,它在您插入的跨度结尾处开始。您需要做的将需要更多代码。您不仅需要检查startContainer,还需要找到它与“ p”标签的关系,并检查“ p”标签内startContainer之前的所有节点。
这是一个工作示例:http://jsfiddle.net/mrBXu/4/
关于javascript - 突出显示所选文本并同时获取出现的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11855657/