通過getElementsByClassName獲取元素集合的相容性問題解決方案
阿新 • • 發佈:2018-11-12
通過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; }