Javascript 在IE7浏览器中,jQuery v1.7.1显示语法错误

Javascript 在IE7浏览器中,jQuery v1.7.1显示语法错误,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,在我的网站中,我使用的是jquery v1.7.1 在其他浏览器(IE9、IE8)中,它工作正常,但在IE7中,它显示以下语法错误 SCRIPT5022: Syntax error, unrecognized expression: hover jquery.min.js, line 3 character 14659 如果你们对此有任何想法,请告诉我修复此问题。这是因为脚本中有语法错误。由于您没有提供脚本,我无法告诉您语法错误是什么,但您可能希望了解: (jQuery 1.7.1中的错误

在我的网站中,我使用的是jquery v1.7.1
在其他浏览器(IE9、IE8)中,它工作正常,但在IE7中,它显示以下语法错误

SCRIPT5022: Syntax error, unrecognized expression: hover 
jquery.min.js, line 3 character 14659

如果你们对此有任何想法,请告诉我修复此问题。

这是因为脚本中有语法错误。由于您没有提供脚本,我无法告诉您语法错误是什么,但您可能希望了解:

  • (jQuery 1.7.1中的错误在1.8中修复)

您可以查看以下链接


这些链接可能会帮助您检查所有对象,可能在最后一个属性后面有一个逗号

...
},    
lastProperty: true,     

然后删除它。

根据jQuery,如果选择器以制表符开头或结尾,则会发生这种情况,除非选择器还包含类名。检查所有选择器,确保它们都不包含TAB。

将jquery升级到1.9,不要使用IE7这就是为什么jquery 1.8已经开发出来,现在是1.9。升级jquery。
hover()
不再支持作为
mouseenter()
mouseleave()
的同义词,如
jquery v1.9
中删除的功能之一所述。如果您正在使用最新版本的jquery并使用
hover()
,请注意。如果出现类似错误,您应该切换到jquery版本的开发(未压缩)包,以帮助跟踪特定错误。然后给我们更具体的错误和它发生的上下文。考虑使用断点来缩小这一点,或者查看JavaScript调试控制台中的堆栈跟踪。@ RaSor——您在哪里看到“代码>?HoVE())/代码>被删除了?也许您是指
:hover
()?假设IE7之后的浏览器中没有出现语法错误。IE7确实支持悬停伪操作。为了让这成为一个被接受的答案,它将有助于看到一个替代的解决方案,而不仅仅是它为什么会发生的想法?为了给你一个非侮辱性的回答,我必须知道你想做什么,以及你是如何做的,以便给你一个替代的答案。首先,升级到jQuery 1.9.1。我相信您知道,升级并不是每种情况下都可以选择的。我们对代码进行了梳理,删除了对伪选择器的所有引用。如果由于缺少代码而无法提供替代方案(因为发布一个充满可能性的完整的代码库是不可行的),那么就想一想为什么它会出现在支持悬停的浏览器中(就像IE7在标准模式下所做的那样,正如本应用程序中所示——应用了html5 doctype)。我要找的是一个足够熟练的人,他能解释一种情况,并提供可能的替代方案来解决这个问题。希望这能帮你清理一下。调用堆栈并不表示任何特定的位置,每次都会返回到一个通用选择器,而不使用伪悬停或其他方式。每页错误发生多次。唯一的伪代码属于我们的CSS文件,它使用了CSS3中的大多数伪代码,从:visted到:first-line。希望更多的背景知识能激发一些洞察力。@Josh,从
jquery.min.js
切换到
jquery.js
,然后在语法错误发生的地方发布代码。这就是它最终的结果。难以置信的发现。谢谢。真的应该感谢@BrandonBearden,他在评论中提到了这一点,但没有详细说明原因。