8

我正在使用 Javascript 和 HTML 构建一个 Windows Metro 应用程序,它崩溃并出现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);
}

为什么会因为这样的错误而失败?

4

1 回答 1

11

HierarchyRequestError当您尝试undefined在 DOM 中插入 或其他一些无效值时,会抛出A 。

在问题的函数中,hnode可能是undefined,例如,因为insertData()被调用时没有参数。

要调试这样的情况并找出insertData()问题所在,可以使用 Visual Studio 中的条件断点。如果设置断点,请右键单击它并选择"Condition..."。像这样的条件hnode === undefined可以用来打破有趣的情况。

于 2012-07-02T22:15:19.787 回答