js封装 DOM获取

mac2022-06-30  30

function $(selector){   //获取第一个字符   var firstLetter = selector.charAt(0);   //对第一个字符进行判断   switch(firstLetter){     //#则为id名称;     case '#' : return idSelector(selector);     break;     //.则为class;     case '.' : return classSelector(selector);     break;     default : return tagNameSelector(selector);   }   //idSelector   function idSelector(idS){     return document.getElementById(idS.substring(1));   }   //tagNameSelector;   function tagNameSelector(tagNameS){     return document.getElementsByTagName(tagNameS);   }   //classSelector   function classSelector(classS){   //兼容处理   if(docuent.getElementsByClassName){     return document.getElementsByClassName(classS.substring(1));   }else{     //放置dom节点的数组     var arr = [];     //如果浏览器不兼容getElementsByClassName     //获取页面中的所有的元素     var arrTag = document.getElementsByTagName('*');     //利用正则匹配找到对应的标签     var reg = new RegExp('(^|\\s)'+classS.substring(1)+'($|\\s)','g');     //遍历所有的标签     for(var i = 0 , k = arrTag.length ; i < k ; i++){     //如果标签拥有对用的class名称 push 到一个数组中       console.log(arrTag[i].className);       if(reg.test(arrTag[i].className)){         arr.push(arrTag[i]);       }    }   return arr;     }   } }

转载于:https://www.cnblogs.com/bruce-w/p/11456601.html

最新回复(0)