2012-07-02 24 views
7

我建立使用JavaScript和HTML一個Windows Metro應用,並將其與HierarchyRequestError崩潰:HierarchyRequestError

Exception was thrown but not handled in user code at line 11, column 9 in ms-appx://21706d2f-b81e-47ef-9ebb-37de36c7a258/js/default.js 
0x800a139e - JavaScript runtime error: HierarchyRequestError 

在拋出我做一些簡單的錯誤的行DOM操作並嘗試將我創建的節點插入到文檔中:

function insertData(hnode) { 
    document.querySelector('#datanode').appendChild(hnode); 
} 

爲什麼會因此類錯誤而失敗?

回答

11

當您嘗試將undefined或其他無效值插入到DOM中時,會引發A HierarchyRequestError

在問題中的函數中,hnode可能是undefined,例如因爲insertData()被調用時沒有參數。

要調試這樣的情況,並找出哪些調用insertData()的問題,在Visual Studio中的條件斷點都可以使用。如果您設置了斷點,請右鍵單擊它並選擇「條件...」。像hnode === undefined這樣的條件可以用來突破有趣的情況。

+0

更喜歡的typeof HNODE ===「未定義」 – eomeroff

+0

@eomeroff:那工作太,但並沒有真正發揮作用。 – sth

相關問題