原生JS实现元素的getElementsByClassName()方法,适用于多个类名
2017-03-13 21:48
1011 查看
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>原生JS实现getElementsByClassName()</title> <script> window.onload = function() { var oUl = document.getElementById('ull'); function getElementsByClassName(obj,classname){ var result = []; var aEls = document.getElementsByTagName('*'); for(var i = 0; i<aEls.length; i++){ //查找有多个属性的元素 var classnames = aEls[i].className.split(' ') if(indexOf(classname,classnames)!=-1){ result.push(aEls[i]); } } return result; } function indexOf(classname,classnames){ for(var i = 0; i<classnames.length; i++){ if(classname==classnames[i]){ return i; break; } } if(i = classnames.length) return -1; } //alert(indexOf('box',['box1','box'])); alert(getElementsByClassName(oUl,'box').length); } </script> </head> <style> li{ width:100px; height:28px; margin-left:20px; list-style: none; background: gray; margin:2px; } .box{ background:orange; } .box1{ background:green; } </style> <body> <ul id="ull"> <li>0</li> <li class='box box'>1</li> <li>2</li> <li class='box1'>3</li> <li class='box1'>4</li> <li class='box box1'>5</li> </ul> </body> </html>
相关文章推荐
- js 如何获取class的元素 以及创建方法getElementsByClassName
- getElementsByClassName函数实现获取指定类名的子元素列表
- 原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
- 根据原生JS封装函数,根据传递的选择器查找对应的元素以及解决getElementsByClassName() 兼容问题
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- js原生封装getClassName()方法-ie不支持getElementsByClassName,所以要自己实现获取类名为className的所有元素
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- js根据类名获取元素——自定义getElementsByClass()
- js 教你怎么封装 例如如何封装getElementsByClassName()方法
- JS原生获取class对象(getElementsByClassName)
- 兼容ie5-ie11及其他主流浏览器的js document.getElementsByClassName 方法
- Dom4j递归解析XML实现JS的getElementsByName类似方法
- getElementsByClassName的原生实现
- 用原生JS实现getElementsByClass
- js通过getElementById或getElementsByClassName()【】等方式获取元素为null或undefined
- 封装getElementsByClassName方法,实现兼容旧浏览器
- Dom4j递归解析XML实现JS的getElementsByName类似方法
- JS根据类名查找对象,getElementsByClassName
- getElementsByClassName的原生实现
- getElementsByClassName 原生实现