2012-11-12 56 views
0

以下代碼在Chrome和Firefox中正常工作,但在IE 9.0中中斷。DOM異常:HIERARCHY_REQUEST_ERR(3)錯誤

message.nodeTree.childNodes[1].childNodes[0].childNodes[0].appendChild(pkf_util.createXmlTextNode(text));

當我試圖通過textarea的輸入的東西,它帶有SCRIPT5022:

DOM Exception: HIERARCHY_REQUEST_ERR (3) line 481 character 29;

爲什麼沒有在IE 9.0的工作任何想法?

+2

有沒有說,沒有看到你的HTML結構,但代碼_does_顯得很脆弱。 –

+0

既然你已經標記了jQuery,你也應該使用它,而不是導航「第二個孩子的第一個孩子的第一個孩子」的風格,而是「在div中被點擊的類」.data「的輸入」樣式 –

+0

設想返回函數createXmlTextNode()? –

回答

9

我知道很長一段時間,因爲問了Q,但是我根據錯誤信息達到了它。 特別是在我的情況下,我得到以下錯誤:「HIERARCHY_REQUEST_ERR:DOM異常3:一個節點被插入它不屬於它的地方。」。

我試圖追加一個節點,我正在創建使用jQuery到我的HTML文檔中的其他節點。 原來,我錯誤地使用$('div')而不是$('<div>')來創建新(附加)節點。

我希望這將有助於未來的人。

+0

謝謝epeleg,我犯了同樣的錯誤。 –

0

DOM exception 3表示您已嘗試將元素插入DOM中不屬於它的位置。 (ref.

可能的原因:

  • IE9不考慮庫中的有效DOM節點創建的XML節點。
  • 創建的節點是一個有效的DOM節點,但它被附加到某個不屬於它的地方(例如任何被追加到應該是葉子的節點上)
  • 創建的節點實際上並不是一個新元素,而是附加到節點的父節點。這會被歸類爲圖書館中的一個錯誤。
  • 如果您嘗試在任何地方附加null,實際上您會要求DOM異常。也許你的圖書館在IE9上失敗?在pkf_util返回

谷歌搜索...這個問題,所以我們不能在pkf_util排除錯誤。

+0

您的參考鏈接不適用於任何DOM相關... –

+0

不知道這是怎麼發生...提供了一個新的。 –

0

這可能是一個解決方案...

var element = document.createElement('iframe'); 
element.src = url; 
document.getElementsByTagName('body')[0].appendChild(element);  

好運