如何处理ie8 jquery对象不支持此属性或方法错误?
这并不表示我的javascript代码中有任何错误,但在下载的jquery.js文件中,这是一个重命名的minified jquery 1.3.2文件。
我正在测试一些js代码,在IE8中,它在firefox和google chrome中100%工作,然后再将其转换为生产服务器。
但是jquery库本身似乎在IE8中存在问题。
我甚至尝试下载1.3.2 jquery的新副本,并使用它而不是缩小版本,它仍然出错。
然后我尝试使用在code.jquery.com上托管的cdn,它甚至在让我的代码工作或不工作之前仍然存在错误。
它似乎在IE8中部分工作,但我们的开发服务器上的其他jquery部分工作,并继续重复,“对象不支持此属性或方法”
是否有特定版本的jquery在IE8中效果最好? 至少我可以在IE8中查看我的代码是否存在问题?
或者是否有一个在IE8中不起作用的jquery函数列表?
PS此外,我考虑升级到IE9,看看是否有相同的问题,但你无法下载IE9,对于WinXP,这很糟糕。 我只是喜欢WinXP,升级的可能性很小。 在我使用XP之前,我在我的工作电脑上安装了Vista,这真的很糟糕。
对不起,小小的发泄,只是试图让这个代码工作,没有错误……
谢谢。
来自评论
当我使用xxx.trim()而不是$ .trim(xxx)时,我遇到了这个问题。 一旦我换了这个问题就消失了。
注意:有些人也可能通过尝试在IE8中使用jQuery 2来到达此页面。 jQuery 2不再支持IE8(参见: http : //jquery.com/browser-support/ )。
如果需要IE8支持,请使用最新版本的jQuery 1
根据我的经验,jQuery很少出现问题,无论你运行的版本是什么,我通常做的就是把那些讨厌的错误排除在外,是禁用|删除你在网站上运行的任何其他javascript(除了jquery) ),然后与jquery一起开始一个接一个地启动,一旦找到错误发生的地方尝试调试该脚本,过去真正有用的一件事就是做jslint或jshint,如果你不熟悉的话这些工具,它们是帮助您validation代码的工具,并建议您根据以前的开发人员经验改进一些语句,JSLint是一个更严格的工具,我认为JSHint会帮助您更多一点,因为它是一个在某些方面更加宽容。
让我知道,如果这是有帮助的,也尝试安装IE8开发工具:)
基本上我的代码中有一个奇怪的问题,关于声明一个变量。
所以这与jquery加载无关,但它不会以任何方式显示与我的代码中的一行相关的错误消息。
一旦我将变量声明为逻辑之上,它就可以正常运行。
感谢大家的努力。
这可能有很多原因,但我遇到了同样的错误而且我正在使用
.html().trim();
当我改变它
.html()+"";
它解决了这个问题。 检查错误行,如果在.html()之后使用.trim(),则将其删除。
我遇到了同样的问题,在我的情况下是由于将trim()链接到ie8中的text()函数引起的
违规代码是$("td:eq(n)", this).text().trim();
更改为: $.trim(("td:eq(n)", this).text());
工作中。
我有一个名为form
的变量这个问题,改变了那个很小的东西。
如果您尝试在jquery的回调中使用ES5 .bind,也会发生这种情况。
$('#ref').on('click', function() { // do stuff }.bind(this));