通过getElementsByClassName获取元素集合的兼容性问题解决方案

通过getElementsByClassName获取元素集合的兼容性问题解决方案

方案一:使用方案一后,通过document.getElementsByClassName()函数来获取类名对应的元素集合

if(!document.getElementsByClassName){ //能进来一定是低版本ie(ie8及以下)
		document.getElementsByClassName=function(eleclass){
			var Ele=document.getElementsByTagName("*"), //通配符,获得所有的标签
				reg=new RegExp("\\b"+eleclass+"\\b"),
				arr=[];
				for(var i=0;i<Ele.length;i++){
					if(reg.test(Ele[i].className)){ //为true表示当前元素符合条件,放进数组
						arr.push(Ele[i]);
					}
				}
				return arr;
		};
	}	

方案二:使用方案二后,通过getByClass(oParent,sClass)函数来获取类名对应的元素集合

function getByClass(oParent,sClass)  {	//sClass的父元素 类名 	
		var aEle=oParent.getElementsByTagName('*'),
			aResult=[],
			reg=new RegExp("\\b"+sClass+"\\b");
		for(var i=0;i<aEle.length;i++)
		{
			if(reg.test(aEle[i].className))
			{
				aResult.push(aEle[i]); //为true表示当前元素符合条件,放进数组
			}
		}
		return aResult;
	}	

猜你喜欢

转载自blog.csdn.net/lan1977545649/article/details/83544804