解决 IE 不支持 document.getElementsByClassName()
2016-08-17 17:57
633 查看
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> div { width: 400px; height: 50px; margin: 10px 0; } .c { border: 1px solid red; } .c1 { border: 1px solid green; } .c2 { border: 1px solid blue; } </style> <script type="text/javascript"> //className是类名.results是返回的数组 var getClass=function(Class,results){ results =results || []; var tempArr,i; //1.首先判断系统所提供的方法是否可以实现该功能 if(document.getElementsByClassName){ results.push.apply(results,document.getElementsByClassName(Class)); }else{ //2.自定义实现, //思路:首先获取所有元素,然后在元素中搜索符合要求的,再加入到数组中 tempArr = document.getElementsByTagName('*'); //(1)for循环,判断是否符合要求 for(var i=0; i < tempArr.length; i++){ //注意,className属性需要验证非空 var list = tempArr[i].className.split(' '); for (var j=0;j<list.length;j++){ if(list[j]===Class){ results.push(tempArr[i]); break; } } } } return results; }; </script> </head> <body> <div class="c1 c2"></div> <div class="c2"></div> <div class="c"></div> <div class="c1"></div> </body> <script> //实验 var list =getClass('c1'); for(var k in list){ list[k].style.backgroundColor='pink'; } </script> </html>
相关文章推荐
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- 解决ie8及一下不支持document.getElementsByClassName
- IE不支持getElementsByClassName解决办法
- 解决对象不支持“getElementsByClassName”属性或方法 ie兼容性
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- IE不支持getElementsByClassName最终完美解决方案
- IE支持getElementsByClassName方法
- document.getElementsByName 在IE与firefox表现不一,解决办法
- IE浏览器不支持getElementsByClassName的解决方法
- IE不支持getElementsByClassName最终完美解决方案
- 浏览器不支持getElementsByClassName的解决办法
- ie不支持getElementsByClassName
- 兼容ie5-ie11及其他主流浏览器的js document.getElementsByClassName 方法
- js获取class-----ie不支持getElementsByClassName
- 解决ie对getElementsByName支持的问题[zz]
- 对ie不支持getElementsByName的解决办法
- IE不支持getElementsByClassName()方法的问题
- 解决IE8一下不支持getElementsByClassName的方法