HierarchyRequestError при изменении DOM в приложении Windows Metro

Я создаю приложение Windows Metro с использованием Javascript и HTML, и он падает с 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);
}

почему это не удалось с такой ошибкой?

1 ответов


A HierarchyRequestError возникает при попытке вставить undefined или другое недопустимое значение в DOM.

в функции в вопросе,hnode наверное undefined, например,insertData() был вызван без параметров.

чтобы отладить такую ситуацию и узнать, какой вызов insertData() проблема, условная точка останова в Visual Studio может быть использована. Если вы установили точку останова, щелкните ее правой кнопкой мыши и выберите "состояние...". Ля состояние как hnode === undefined можно использовать, чтобы сломать только интересные случаи.