我有一组范围,从以下tokensToRanges
函数创建:
现在我想遍历每个范围,并对它们应用一个动作。但是我收到一个错误:
未捕获的错误:范围错误:DOM 突变后范围不再有效 ([WrappedRange("foobar":6)])
现在我明白了为什么会出现错误,但我想知道如何遍历一组范围并操纵每个范围?
我有一组范围,从以下tokensToRanges
函数创建:
现在我想遍历每个范围,并对它们应用一个动作。但是我收到一个错误:
未捕获的错误:范围错误:DOM 突变后范围不再有效 ([WrappedRange("foobar":6)])
现在我明白了为什么会出现错误,但我想知道如何遍历一组范围并操纵每个范围?
这是一个棘手的问题,我已经遇到过好几次了。您的选择基本上是:
我在使用文本荧光笔时遇到了这个问题。当您修改要搜索的范围的内容时,似乎会发生这种情况。在我的例子中,我只是使用隐藏的跨度元素来封装我的文本,而不是尝试自己解析范围,然后隐藏跨度的类来操作其内容,然后解开隐藏的跨度。
它可能不适用于您的情况,但对我来说,解决方案是简单地将范围扩大到包含我正在修改的元素的 div 元素。