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

やその他の無効な値を DOMに挿入しようとすると、 AHierarchyRequestErrorがスローされます。undefined

質問の関数では、たとえばがパラメータなしで呼び出されたため、hnodeおそらくです。undefinedinsertData()

このような状況をデバッグし、どの呼び出しが問題なのかを調べるにinsertData()は、Visual Studio の条件付きブレークポイントを使用できます。ブレークポイントを設定した場合は、それを右クリックして [条件... ] を選択します。のような条件をhnode === undefined使用して、興味深いケースだけを中断することができます。

于 2012-07-02T22:15:19.787 に答える