【发布时间】:2012-09-02 04:19:42
【问题描述】:
我有一段 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 年了,问题仍然存在。必须将我现有的代码移植到最新的模板库。
【问题讨论】:
-
马修,你能不能把 jsfiddle 和 html 放在一起。我想试一试。
标签: javascript jquery jquery-ui jquery-templates