1

私は他のページで問題なく使用しているJavaScriptの一部を持っていますが、新しいページでHierarchyRequestErrorをスローしています。これは、私のページの HTML に問題があると思われます。コードを大幅に簡略化したバージョンを次に示します (それでもエラーが発生します)。

window.webframe.loginDialog = function () {
    $("body").append('<div id="dialogSpace" />');
    $("#dialogSpace").load("/login/index #loginContainer", function () {
        $("#loginContainer").dialog({
            buttons:
            [
                {
                    text: "Hi",
                    click: function()
                    { alert('Hi');}
                }
            ]
            });
    });
};

$('#lnkLogin').click(function () {
    webframe.loginDialog();
    return false;
});

このコードを実行すると、jQuery から次のエラーが発生します。

HierarchyRequestError: 階層内の指定されたポイントにノードを挿入できません

ボタンの定義を削除すると、エラーはなくなります。ボタン オプション自体が存在する場合は違いはありませんが、任意の種類の単一のボタン ハンドラーを配置すると、エラーが発生します。オプションでボタンを定義する両方のスタイルも試しました。

jQuery 1.7.2 と jQuery UI 1.8.23 を使用していますが、変更なしで jQuery 1.8 にアップグレードしようとしました。

上で述べたように、まったく同じコード ファイルが別のページで別の場所でも問題なく動作するため、これは HTML 構造の問題であると強く疑っています。他の誰とでも。

更新: 他の js 参照をすべて調べたところ、jquery.template ( https://bitbucket.org/stanlemon/jquery-templates/ ) を含めることが原因であることがわかりました。最新に更新しようとしましたが、それは 3 年前のものであり、問​​題は解決しません。既存のコードを最新のテンプレート ライブラリに移植する必要があります。

4

1 に答える 1