解决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;
			}

猜你喜欢

转载自blog.csdn.net/weixin_42217154/article/details/81866622
今日推荐