每日一题_JavaScript.使getElementsByClassName兼容IE7/8和火狐?
2017-02-09 13:06
549 查看
具体需求:
1. 让getElementsByClassName兼容IE和火狐浏览器,通过类名获取元素集合?
实现思路:
1. 由于IE和火狐都支持getElementsByTagName,所以可以通过它遍历所有元素找出className中包含指定类名的元素存到数组返回即可.
具体代码:
1. 让getElementsByClassName兼容IE和火狐浏览器,通过类名获取元素集合?
实现思路:
1. 由于IE和火狐都支持getElementsByTagName,所以可以通过它遍历所有元素找出className中包含指定类名的元素存到数组返回即可.
具体代码:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>兼容IE7/8+|FireFox getElementsByClassName</title> <meta name="description" content=""> <meta name="keywords" content=""> <link href="" rel="stylesheet"> </head> <body> <div id="rMain0" class="rMain"> <div class="rMain"></div> <div class="rMain"></div> </div> <script type="text/javascript"> function $_(id){ return document.getElementById(id); }; if(!document.getElementsByClassName){ document.getElementsByClassName = function (className, element){ var results = []; var element=element?element:document; // 获取所有DOM元素 var echildren=element.getElementsByTagName('*'); for(var i=0;i<echildren.length;i++){ var curchild=echildren[i]; var classNames=curchild.className.split(' '); // 如果当前元素包含className就压入results数组 for(var j=0;j<classNames.length;j++){ if(classNames[j]==className){ results.push(curchild); break; }; }; }; return results; }; }; alert(document.getElementsByClassName('rMain', $_('rMain0')).length) </script> </body> </html>
相关文章推荐
- 原生JavaScript解决document.getElementsByClassName兼容问题
- 如何让javascript支持getElementsByClassName
- 兼容ie5-ie11及其他主流浏览器的js document.getElementsByClassName 方法
- 深入理解javascript选择器API系列第二篇——getElementsByClassName
- javascript getElementsByClassName函数
- 20150629 关于ie下getElementsByClassName的兼容
- JavaScript: Get Elements by ID, Tag, Name, Class
- getElementsByClassName的低版本浏览器兼容方法
- IE下js兼容之getElementsByClassName和e.target
- 实现ES5以下兼容,Object.create()、getElementsByClassName()
- 解决不兼容getElementsByClassName
- javascript getElementsByClassName实现代码
- javascript getElementsByClassName实现代码
- [JavaScript]兼容IE6/7的getElementByClassName
- IE不兼容document.getElementsByClassName
- getElementsByClassName兼容问题
- 兼容浏览器的getElementsByClassName方法
- [ javascript ] getElementsByClassName与className和getAttribute!
- 【JavaScript】修正IE下document.getElementsByName无法获取DIV标签,兼容IE FF的ByName方法
- javascript getElementsByClassName 和js取地址栏参数