本文环境:
-
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了。
本文地址:http://kf.yj99.vip/zhan/q/37.html