간단한dom 검색 함수
6231 단어 dom
1 var regid = /^#([\w-]*)$/,
2 regClass = /^\.([\w-]*)$/,
3 regName = /^(div|a|p|ul|li|input|select|document|body|iframe)$/,
4 regWhite = /\s*/g;
5 //
6 function _B(name, doc) {
7 var selector, match, result = [];
8 var doctemp;
9 if (doc) {
10 doctemp = (typeof doc == "object" && doc.length > 0 && doc[0] && doc[0].nodeType || doc && doc.nodeType) ? doc : _B(doc);
11 } else {
12 doctemp = document;
13 }
14 selector = name && name.replace(regWhite, "");
15 if (selector) {
16 match = regid.exec(selector);
17 if (match && match[1]) {
18 result = document.getElementById(match[1]);
19 }
20 match = regClass.exec(selector);
21 if (match && match[1]) {
22 var elems = doctemp.getElementsByTagName("*");
23 var len = elems && elems.length || 0;
24 for (var i = 0; i < len; i++) {
25 var currentelem = elems[i];
26 var classlist = currentelem.className.split(/\s+/);
27 var classlen = classlist.length;
28 for (var j = 0; j < classlen; j++) {
29 if (classlist[j] == match[1]) {
30 result.push(currentelem);
31 break;
32 }
33 }
34 }
35 }
36 match = regName.exec(selector);
37 if (match && match[1]) {
38 result = doctemp.getElementsByTagName(match[1]);
39 }
40 }
41 return result ? result : null;
42 }
지원B("#id") _B(".class") _B("div") _B("#id",dom) _B(".class",dom) _B("div",dom)dom 기본값은 document
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JavaScript DOM 조작③ 「태그명을 키로 요소를 취득」이 기사에서는 JavaScript DOM 작업 "태그 이름을 키로 요소 가져오기" 에 대해 설명한다. 역할 HTML 내의 지정된 태그명을 가지는 요소를 취득하는 메소드 구문 구문은 다음과 같다. index.js 보충...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.