我們知道,原生的JS給我們提供了getElementsByClassName方法,可以通過此方法獲取到含有某指定class的節點集合,注意是集合,也就是此函數返回一個數組。
但是,IE卻并不支持這個方法,但這方法卻是很有實用性,所以,我們又不得不專門為IE實現這么一個函數。
for(; i<iLen; i++){
if(reg.test(aEle[i].className)){
arr.push(aEle[i]);
}
}
return arr;
}
}
使用方法:
//第二種:選擇document下的所有class為box-box的div元素
getElementsByClassName(document,'box-box','div')[0].style.background='yellow';
//第三種:選擇document下的所有class為box-box元素
getElementsByClassName(document,'box-box')[0].style.background='yellow';
oEle、sClass是必填的,sEle是選填的。
sClass中又中橫線或下劃線親測木有問題,比如說:box-box box_box;但是如果是其他特殊字符就很有可能有問題了,如:box$box… 當然可以自己加轉義搞定特殊字符,如:box//$box…
兼容性:親測ie6+
小伙伴們自己使用一下就知道了,超級好用,擴散下給其他小伙伴吧。
新聞熱點
疑難解答