這里不能用正則把className分割一下,然后用分割后的數組里面跟傳進來的className進行比較么,我覺得更合理些

媽咪媽咪哄
2014-08-04
1 回答
舉報
0/150
提交
取消
這里不能用正則把className分割一下,然后用分割后的數組里面跟傳進來的className進行比較么,我覺得更合理些
2014-08-04
舉報
2016-01-22
我沒用正則分割,而是把所有的類名按空格分割成數組,再遍歷數組中的每項判斷是否等于需要的類名。代碼如下:
function className(name){
? //如果瀏覽器支持getElementsByClassName則會返回所有類名叫name的,如果不支持才會遍歷每個類名
? 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;
}