持久DOM parentNode引用

时间:2014-01-15 14:29:15

标签: javascript dom selection nodes

我将以下选择数据存储在一个数组中:

var returnInfo = new Array;
var selectionRange = window.getSelection().getRangeAt(0);
returnInfo['CAC'] = selectionRange.commonAncestorContainer;
returnInfo['startContainer'] = selectionRange.startContainer;
returnInfo['endContainer'] = selectionRange.endContainer;
returnInfo['startOffset'] = selectionRange.startOffset;
returnInfo['endOffset'] = selectionRange.endOffset;

但是当我开始修改dom时,commonAncestorContainer.parentNode会变为null。有没有办法冻结这个价值?我不改变节点的父母,只改变它的兄弟姐妹,所以父母总是保持不变。

1 个答案:

答案 0 :(得分:1)

如果commonAncestorContainer.parentNodenull,则表示commonAncestorContainer不在DOM中。检查您的javascript代码,以便移除commonAncestorContainer或替换父母的innerHTML