关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法

转自:http://wapapp.baidu.com/auoong/item/538790fcbe87c834d7ff8cde

首先这个问题的前提是已经排除了常见的这个问题。下面说一种今天我碰到的一种情况。

浏览器报的错误:

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了。

时间: 2024-10-13 15:25:26

关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法的相关文章

对象不支持ajax属性或方法

今天在做泛微流程开发的时候,遇到一件很奇怪的事情,流程流转到第二个节点,居然报错了,提示”对象不支持ajax属性和方法“,但是第一个节点测试并未报错了, /(ㄒoㄒ)/~~,然后试着把jQuery的简写“$"改成”JQuery“后,不在提示”对象不支持ajax属性和方法“错误,而是变成了“automation服务器不能创建对象”问题,看下了错误的代码 行”var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLH

jquery1.8 在IE8 下面报错:对象不支持此属性或方法 return b.getAttribute("id")===a

jquery1.8 在IE8 下面报错: 对象不支持此属性或方法 调试发现是下面这一行报错: 在IE8下面报错,在chrome和firefox都是好的. 实在找不到原因,最后把源码改成下面这样: 没有报错了. 更好的方法,应该可以先 判断 elem 对象是否有 getAttribute() 这个函数,如果没有就是有 eleem["id"] 来代替.

ie7/8浏览器报错:对象不支持“trim”属性或方法

解决方法: 方法1: 使用jquery里面的全局函数$.trim()代替原生js方法trim(): $.trim( 你要替换的字符 ); 方法2: Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; }; if (!String.prototype.trim) { //判断下浏览器是否自带有trim()方法 String.method('trim', funct

jmail组件 对象不支持此属性或方法: 'JMail.ServerAddress' 的解决办法

jmail组件是asp最常用的邮件发送工具,自己有一个网站,已经使用这个jmail组件有8年了,但不知道为什么在12号突然出现无法正常发送邮件的问题, 后来经过测试代码,发现IIS报的错误为:对象不支持此属性或方法: 'JMail.ServerAddress',遇到不明白的,当然就是先度娘了,百度了2天都没有发现有相同错误的案例及解决的办法, 我的代码如下: Dim JMail Set JMail=Server.CreateObject("JMail.Message") if err

对象不支持“abigimage”属性或方法

在一个网页中用了一个js插件, js文件引用的没有错,代码也和demo差不多,  但是运行时ie的调试工具报了一个错: 解决方案: jquery文件冲突,发现原来自己引过一个 <script src="js/jquery-1.11.0.min.js"></script>  , 这里又引入了一个 <script type="text/javascript" src="js/jquery-2.0.3.min.js">

解决对象不支持“getElementsByClassName”属性或方法 ie兼容性

  解决 IE 或者兼容模式不支持 document.getElementsByClassName() 的方法 自已实现document.getElementsByClassName(): 网页错误详细信息消息: 对象不支持此属性或方法 document.getElementsByClassName('element_name') 需要自己实现下该方法,因为ie5之前的版本并不支持这个方法 有以下四种方法,第四种兼容性最好  一. [javascript] view plaincopy   //

javascript错误:对象不支持此属性或方法

javascript错误:对象不支持此属性或方法 出现如上错误的原因主要有以下两种: 1.方法对应的JS函数未定义 2.属性所用的id名字跟函数名相同也会报此错误,id或函数名改个地方即可.

解决IE10以下对象不支持“bind”属性或方法

IE10一下的浏览器,如果在JS代码中用了bind函数,那么就会报“SCRIPT438: 对象不支持“bind”属性或方法” 因为浏览器没有提供这个参数的方法,所以我们就自己写一个bind,来让这个参数生效. //解决IE10以下不支持Function.bind if (!Function.prototype.bind) { Function.prototype.bind = function(oThis) { if (typeof this !== "function") { thr

Object.assign() 之 IE 兼容 (TypeError: 对象不支持“assign”属性或方法)

直接复制拿去IE大佬上面用一下就可以了,兄嘚. // IE 兼容方法 if (typeof Object.assign != 'function') { Object.assign = function(target) { 'use strict'; if (target == null) { throw new TypeError('Cannot convert undefined or null to object'); } target = Object(target); for (var