解决getElementsByClassName()在IE8下的兼容问题

getElementsByClassName,这个方法让我们可以通过 class 属性中的类名来访问元素,但是IE9 以下的浏览器不支持 。为解决这个问题,我们写一个兼容函数 getByClass() 实现在IE低版本和现代浏览器中都能通过类名来获取节点。

function getByClass(name){ //如果浏览器支持 会得到一个函数体 if(document.getElementsByClassName){ return document.getElementsByClassName(name); } //把所有的元素获取到 var allItems = document.getElementsByTagName("*"); var newArr = []; //查找每一个元素的className 看其中含不含name for(var i = 0; i < allItems.length; i++){ var classNames = allItems[i].className; //"test test11" var arrClass = classNames.split(" "); for(var j = 0; j < arrClass.length; j++){ if(arrClass[j]==name){ newArr.push(allItems[i]); } } } return newArr; }


【解决getElementsByClassName()在IE8下的兼容问题】转载于:https://www.cnblogs.com/a-peppa-pig/p/9570022.html

    推荐阅读