HierarchyRequestError lors de la modification du DOM dans Windows application Metro
Je suis en train de construire un Windows Metro application à l'aide de Javascript et HTML, et il se bloque avec un 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
À la ligne qui lève l'erreur que j'ai fais une simple manipulation du DOM et de l'insertion d'un nœud que j'ai créé dans le document:
function insertData(hnode) {
document.querySelector('#datanode').appendChild(hnode);
}
Pourquoi en serait-il échouer avec une erreur?
OriginalL'auteur sth | 2012-07-02
Vous devez vous connecter pour publier un commentaire.
Un
HierarchyRequestError
est générée lorsque vous essayez d'insérerundefined
, ou une autre valeur non valide, dans le DOM.Dans la fonction en question,
hnode
est probablementundefined
, par exemple parce queinsertData()
a été appelé sans paramètres.Pour déboguer ce genre de situation, et de savoir qui appeler pour
insertData()
est le problème, un point d'arrêt conditionnel dans Visual Studio peut être utilisé. Si vous définissez un point d'arrêt, cliquez-droit dessus et choisir "Condition de...". Un état comme lahnode === undefined
peut être utilisé pour briser les cas intéressants.Qui serait trop de travail, mais n'a pas vraiment faire une différence.
OriginalL'auteur sth