這里不能用正則把className分割一下,然后用分割后的數(shù)組里面跟傳進(jìn)來(lái)的className進(jìn)行比較么,我覺(jué)得更合理些

媽咪媽咪哄
2014-08-04
1 回答
舉報(bào)
0/150
提交
取消
2016-01-22
我沒(méi)用正則分割,而是把所有的類(lèi)名按空格分割成數(shù)組,再遍歷數(shù)組中的每項(xiàng)判斷是否等于需要的類(lèi)名。代碼如下:
function className(name){
? //如果瀏覽器支持getElementsByClassName則會(huì)返回所有類(lèi)名叫name的,如果不支持才會(huì)遍歷每個(gè)類(lèi)名
? if(document.getElementsByClassName){
? ? ?return document.getElementsByClassName(name);
? }
? var doms=document.getElementsByTagName("*");
? var arr=[];
? for(var i=0;i<doms.length;i++){
? ? ?var txt=doms[i].className.split(" ");
? ? ?for(j=0;j<txt.length;j++){
? ? ? ? if(txt[j]==name){
? ? ? ? ? ?arr.push(doms[i]);
? ? ? ? }
? ? ?}
? }
? return arr;
}