我有一段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岁,问题仍然存在。必须将我现有的代码移植到最新的模板库。
答案 0 :(得分:1)
这不是您正在寻找的答案,但我也遇到了同样的问题。升级到jQuery 2.02和jQuery UI 1.10.4并没有解决问题。最后我删除了jquery.template.js。