tokensToRanges
次の関数から作成された一連の範囲があります。
次に、各範囲をループして、それらにアクションを適用します。ただし、エラーが発生します。
キャッチされないエラー: 範囲エラー: DOM の変更後、範囲は無効になります ([WrappedRange("foobar":6)])
エラーが発生する理由がわかりましたが、一連の範囲をループして、それぞれを操作するにはどうすればよいでしょうか?
tokensToRanges
次の関数から作成された一連の範囲があります。
次に、各範囲をループして、それらにアクションを適用します。ただし、エラーが発生します。
キャッチされないエラー: 範囲エラー: DOM の変更後、範囲は無効になります ([WrappedRange("foobar":6)])
エラーが発生する理由がわかりましたが、一連の範囲をループして、それぞれを操作するにはどうすればよいでしょうか?
これは私が何度も直面してきたトリッキーな問題です。あなたのオプションは基本的に次のとおりです。
テキストハイライターを使用しているときに、この問題に遭遇しました。検索しようとしているスコープの内容を変更しているときに発生するようです。私の場合、範囲自体を解析しようとするのではなく、非表示のスパン要素を使用してテキストをカプセル化し、次に非表示のスパンのクラスを使用してその内容を操作し、非表示のスパンをアンラップしました。
あなたの場合はうまくいかないかもしれませんが、私にとっての解決策は、変更していた要素を囲む div 要素に範囲を広げることでした。