Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery UI对话框错误,按钮导致HierarchyRequestError_Javascript_Jquery_Jquery Ui_Jquery Templates - Fatal编程技术网

Javascript jQuery UI对话框错误,按钮导致HierarchyRequestError

Javascript jQuery UI对话框错误,按钮导致HierarchyRequestError,javascript,jquery,jquery-ui,jquery-templates,Javascript,Jquery,Jquery Ui,Jquery Templates,我有一段javascript,我在其他页面中使用得很好,但在新页面中抛出了一个HierarchyRequestError。这让我怀疑这是我页面中HTML的一个问题。下面是一个大大简化的代码版本(仍然会产生错误): window.webframe.loginDialog=函数(){ $(“正文”)。附加(“”); $(“#dialogSpace”).load(“/login/index#loginContainer”,函数(){ $(“#登录容器”)。对话框({ 按钮: [ { 文字:“你好”,

我有一段javascript,我在其他页面中使用得很好,但在新页面中抛出了一个HierarchyRequestError。这让我怀疑这是我页面中HTML的一个问题。下面是一个大大简化的代码版本(仍然会产生错误):

window.webframe.loginDialog=函数(){
$(“正文”)。附加(“”);
$(“#dialogSpace”).load(“/login/index#loginContainer”,函数(){
$(“#登录容器”)。对话框({
按钮:
[
{
文字:“你好”,
单击:函数()
{alert('Hi');}
}
]
});
});
};
$('#lnkLogin')。单击(函数(){
webframe.loginDialog();
返回false;
});
如果运行此代码,我会从jQuery中得到以下错误:

HierarchyRequestError:无法在指定点插入节点 在等级制度中

如果我删除了按钮定义,那么错误就会消失。如果按钮选项本身在那里,这没有什么区别,但是如果我放入任何类型的单个按钮处理程序,就会发生错误。我还尝试了在选项中定义按钮的两种样式

我正在使用jQuery1.7.2和jQueryUI1.8.23,我已经尝试升级到jQuery1.8,没有任何更改

正如我上面所说的,我强烈怀疑这是HTML结构的问题,因为完全相同的代码文件在其他地方使用不同的页面很好,我将继续关注这一点,但这很奇怪,我想看看这是否对其他人有影响


更新:我查看了所有其他js引用,发现包括jquery.template()是导致它的原因。尝试更新到最新版本,但已使用3年,问题仍然存在。必须将现有代码移植到最新的模板库。

这不是您要寻找的答案,但我也遇到了同样的问题。升级到jQuery 2.02和jQuery UI 1.10.4并没有消除该问题。最后我删除了jquery.template.js。

这不是您想要的答案,但我也有同样的问题。升级到jQuery 2.02和jQuery UI 1.10.4并没有消除该问题。最后,我删除了jquery.template.js。

Matthew,你能把JSFIDLE和html结合起来吗。我想尝试一下。Matthew,你能把JSFIDLE和html结合起来吗。我想尝试一下。是的,删除jQuery.Template也是我们最终要做的事情。感谢大家对这个老问题的关注。是的,删除jQuery.Template也是我们最后要做的。谢谢你对这个老问题的关注。
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;
});