在ie浏览器中,尤其是低版本ie浏览器,并不支持document.getElementsByClassName,今天解决一下这个问题,利用document.getElementsByTagName方法来解决。
有时候,页面元素的类名或id通常不止一个,如"aaa bbb ccc"这样
要选取其中的aaa的话,我们通常分为三种情况:"aaa "与 "空格+aaa"与"aaa+空格"
这样,所有情况都会照顾到
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
window.onload = function () { if (!document.getElementsByClassName) { document.getElementsByClassName = function (cls) { var ret = []; var els = document.getElementsByTagName('*'); for (var i = 0, len = els.length; i < len; i++) { if (els[i].className.indexOf(cls + ' ') >=0 || els[i].className.indexOf(' ' + cls + ' ') >=0 || els[i].className.indexOf(' ' + cls) >=0) { ret.push(els[i]); } } return ret; } } }
ps:原谅我不会正则。。。。
相关推荐
document.getElementsByClassName在ie8及其以下浏览器的兼容性问题,在ie8及其以下浏览器中不能使用,针对这个问题,下面给出详细的解决方法,感兴趣的朋友可以参考下
今天使用getElementsByClassName写了段小程序,满怀欣喜的准备去测试,在ff,谷歌等主流浏览器上测试都没问题,在IE9上也没问题,在IE6、8中测试的时候就出现问题了,浏览器报错。纠结了下代码,貌似没问题,果断找...
这是对浏览器自有DOM方法的一个简单但实用的扩充。 此方法有两个参数:ele指出以哪个DOM节点为根节点寻找(也就是说只找ele的子节点),className指出符合条件的节点的class属性中必须包含怎样的className。它的...
在DOM3里已经加入了getElementsByClassName这个方法,然而IE9、10以外的其它版本均不支持,这是一块伤痛啊! 目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管;如果不支持,就在document对象里加入...
本文实例讲述了JS中getElementsByClassName与classList兼容性问题解决方案。分享给大家供大家参考,具体如下: document(element).getElementsByClassName(classNames:classString); HTML5新添加了这个方法,这个...
有兴趣刚需的可以自己下载,非常实用的特效代码,可以完美运行,有能力的还可以二次修改!
使用封装的思想,简单的实现IE浏览器在javascript中对getElementsByClassName的不兼容问题,实现的方法简单,通俗易懂
目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管;如果不支持,就在document对象里加入getElementsByClassName这个方法,这样的写法有一个好处,即不管有没有原生函数你都不用去修改代码。 通常先...
getElementsByClassName()是HTML5 新增的DOM API。IE8以下不支持搜索。...这种解决方法在HTML5中被标准化,另外,这种方法还本地存在于现代浏览器中,GetElementByClassName()只使用一个字符串值作为输入.并
先来看一下代码:(支持多个class查询和在某个范围内进行...*/ function getElementsByClassName(fatherId,tagName,className){ node = fatherId&&document.getElementById(fatherId) || document; tagName = tagName |
js 获取class的元素的方法 以及创建方法getElementsByClassName,需要的朋友可以参考一下
尽管现在高版本的浏览器已经支持getElementsByClassName()函数,但是对于低版本浏览器来说,还是无法兼容,在脱离其他库的时候,还是得自己封装一个方法。 方法一 function getByClass1(parent, cls){ var res = ...
主要推荐一个封装好的getElementsByClassName方法,需要的朋友可以参考下