1. 程式人生 > >通過getElementsByClassName獲取元素集合的相容性問題解決方案

通過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;
	}