繁体   English   中英

范围循环中的乱码操作DOM

[英]Rangy manipulation DOM in loop of ranges

我有一组范围,是从tokensToRanges函数创建的:

将令牌转换为选择范围

现在,我想遍历每个范围,并对它们执行操作。 但是我得到一个错误:

未捕获的错误:范围错误:DOM突变后范围不再有效([WrappedRange(“ foobar”:6)])

现在,我理解了为什么会收到错误,但是我想知道如何循环遍历一组范围并操纵每个范围?

我遇到了好几次棘手的问题。 您的选择基本上是:

  1. 将范围列表转换为范围边界列表。 对于每对边界,创建一个范围,进行DOM操作,并调整任何需要调整的剩余范围边界。
  2. 重构生成范围列表的代码,一次给您一个范围。

使用文字荧光笔时,我遇到了这个问题。 当您修改要搜索的范围的内容时,似乎会发生这种情况。 就我而言,我只是使用隐藏的span元素来封装文本,而不是尝试自行解析范围,然后使用隐藏的span的类来操纵其内容,然后解开隐藏的span。

在您的情况下,它可能不起作用,但是对我来说,解决方案是将范围简单地扩展到一个div元素,该元素包含了我正在修改的div元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM