出于某种原因,我在 jquery.js(版本 1.4.3,非压缩版本)的第 3156 行的 Internet Explorer 8 中收到以下 Javascript 错误:Object doesn't support this property or method
。Firefox 和 Google Chrome 中不会出现错误。
这是发生错误的行:
if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
调查 ( console.log(Expr.leftMatch[type])
) 产生以下有趣的结果:在 Google Chrome 中,它输出
/(^(?:.|\r|\n)*?):((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\3\))?(?![^\[]*\])(?![^\(]*\))/
但是在 Internet Explorer 中,这是输出:
function() {
var p = this;
do p = p.previousSibling;
while (p && p.nodeType != 1);
return p;
}
exec
无法调用(未定义)。引用的函数在 jquery.js 中不存在。有谁知道为什么会发生这种情况,或者我能做些什么来解决它?
不幸的是,我还不能创建一个简单的脚本来重现这个问题,虽然我确实找到了这个有同样问题的人的帖子,但它没有提供解决方案(最后一个帖子建议页面应该在标准模式,但我的已经是)。