원생 JS 원소 찾기

3143 단어
오늘 은 아주 간단 하고 거 칠 게 JS 종 류 를 통 해 DOM 요 소 를 찾 았 습 니 다.
나 는 그것 의 거 친 등급 을 낮 추기 위해 세 등급 을 주 었 다.
우선 성능 이 가장 좋 은 것 은 FF, CH, IE8 에 적합 하 며 query Selector All 이라는 API 를 통 해.
그 다음은 지 정 된 ID 입 니 다.
마지막 으로 전체 페이지 에서 만 class 와 일치 할 수 있 습 니 다. 그러나 비교적 절 약 된 성능 은 class 이름 을 지정 할 때 HTML 태그 의 유형 을 입력 하여 옮 겨 다 니 는 범 위 를 절약 하 는 데 사 용 됩 니 다!
수준 이 제한 되 어 있 기 때문에 현재 로 서 는 이 정도 밖 에 쓸 수 없다. JQ 의 선택 기 가 DOM 과 어떻게 일치 하 는 지 정말 궁금 하 다. 만약 큰 신 이 이 글 을 본다 면 아 끼 지 말고 가르쳐 달라.
다음 코드 붙 이기:
 1 function $(p,t){
 2     
 3     (type(p) ==='Function')? p() : domSearch();
 4 
 5     function domSearch(){
 6 
 7         var em = [];
 8 
 9         if(type(p) === 'String'){
10             
11             if(document.querySelectorAll){
12 
13                 em = document.querySelectorAll(p);
14 
15             }else if(/^\.\w+$/.test(p)){
16 
17                     var s = document.getElementsByTagName(t || '*'),
18                         clssName = p.slice(1,p.length),
19                         reg = new RegExp('\\b' + clssName + '\\b');
20 
21                     for(var i=0;i<s.length;i++){
22                         
23                         if(reg.test(s[i].className)){
24                             em.push(s[i]);
25                         }
26                     }
27 
28             }else if(/^#\w+$/.test(p)){
29                 var id = p.slice(1,p.length);
30                 em = document.getElementById(id);
31             }
32 
33         }
34 
35         return em.length==1?em[0] : em;
36     }
37 
38     function type(p){
39         /function.(\w*)\(\)/.test(p.constructor);
40         return RegExp.$1;
41     }
42 
43 }

호출 방식:
$('selector'[,type])

좋은 웹페이지 즐겨찾기