本文环境:

  • windows10、jquery2.2.4

  • 本文适用于所有品牌的电脑

问题分析:

浏览器报的错误:

1、在xp/win7系统下安装的是ie8的报的错误是:对象不支持此属性与方法。

2、在win8下报的错误是:对象不支持“toLowerCase”属性或方法,即使是调整成ie8模式也是这个错误。

出错的代码段为jquery的源代码,如下:

var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];

进一步确认问题,将a.nodeName添加到监视器,如果你看到它的类型为DispHTMLInputElement,那么你的这个错误与我碰到的应该就是一样的了。

解决办法:

搜索页面中是否有叫nodeName的元素,如果有改名之,问题就出在这个叫nodeName的元素,因为在代码中这个a,在ie开发者工具中我们可以通过a === window来测试,发现这个a就是window,因此a.nodeName在ie下就会指向页面中id=nodeName的元素,而此时我们页面中正好有这个元素。这样一来也就可以说明了为什么会报对象不支持toLowerCase属性或方法了。

读者:

个人测试a.nodeName时一直报道a未定义,当时报错位置和内容是一样的,所以把该页面的nodeName改了个名字就ok了。

以上就是ie8不支持jquery对象怎么办的详细内容,更多请关注其它相关文章!