2014-01-15 51 views
0

我以下種選擇數據存儲在數組中:持久DOM parentNode參考

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變化爲空。有沒有辦法凍結這個值?我不改變節點的父母,只是它的兄弟姐妹,所以父母總是保持不變。

回答

1

如果commonAncestorContainer.parentNodenull這意味着commonAncestorContainer超出了DOM。請檢查您的javascript代碼,以便刪除commonAncestorContainer或替換父母的innerHTML

+0

感謝您指點我正確的方向。原來,修改commonAncestorContainer.parentNode本身的innerHTML也會將該屬性設置爲null。 – NotABlueWhale