3

我正在使用 cloneRange() 函数克隆一个 DOM 范围。如果我然后像这样修改原始范围对象:

range.setStart(range.startContainer, 1);

克隆startOffset按预期保留旧的。

但是,如果我修改 DOM 树,那么克隆的startOffset也会受到影响。DOM 树和与其关联的所有范围(包括克隆)之间是否存在有意的内部连接?

JS 小提琴示例

4

1 回答 1

2

就在这里。在DOM Level 2 Range 规范中指定了 DOM 突变下的范围会发生什么。最新的DOM4 Range 规范在变异算法部分指定了这一点(感谢 RobG 指出这一点)。

于 2012-07-09T23:54:15.783 回答