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

 

转载于:https://www.cnblogs.com/a-peppa-pig/p/9570022.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值