【发布时间】:2013-01-08 22:28:50
【问题描述】:
这个问题困扰了我好几个小时,希望有人能帮助我。
我有以下代码,用于打开和关闭递归 UL 菜单。它适用于任何地方,除了 IE9。但是,它仅在我使用 CTRL+F5 刷新页面时才有效。如果我不使用 CTRL+F5 刷新,我会收到一堆错误,如下所示:
- SCRIPT5022:DOM 异常:SYNTAX_ERR (12); (参考 if (currentLink))
- SCRIPT5022:DOM 异常:SYNTAX_ERR (12); (参考currentLink.parent().find)
有人知道这里发生了什么吗?
$('.groups').find('li:has(ul)').find('.uitklapTrigger').click(function(){
var currentLink = $(this);
if (currentLink.parent().find('ul').first().is(":hidden")){
currentLink.children('.plmin').html('-');
currentLink.parent().find('ul').first().slideDown('slow');
} else {
currentLink.parent().find('ul').first().slideUp("slow", function(){
currentLink.children('.plmin').html('+');
});
}
return false;
});
【问题讨论】:
-
无论如何让你在FIDDLE复制它?
-
我试过了,但是要剥离的代码实在太多了。在网站的多个页面上发生的情况是,我在通常可以正常工作的简单 jquery 代码上遇到奇怪的错误。它只发生在(多个)IE9 中,我需要 CTRL+F5 才能让一切再次正常运行。例如 $(this).slideUp("slow", function(){ alert('test') });只在ctrl+f5后有效,只允许动画没有oncomplete回调。
-
.groups 下的结构太大?有多个这些元素吗?你能举一个例子吗?
-
听起来您的代码可能以错误的顺序下载。确保所有内容都在
<head>中,将您的代码包装在$(document).ready中,并将jquery.js放在其他任何内容之前。 -
@wirey 有多个 .groups 项目,但这不是问题,因为问题也发生在其他页面上的简单动画上。
标签: javascript jquery dom internet-explorer-9