이 기사는 설명을 위해 두 부분으로 나뉩니다. 특정 내용은 다음과 같습니다.
1 부 : addclass, removeclass, Hasclass 메소드의 기본 J 구현
함수 hasclass (elem, cls) {cls = cls || '';; if (cls.replace (// s/g, '') .length == 0) false를 반환합니다. // CLS가 매개 변수가 없으면 새 Regexp ( ' + cls +' ') .test (' ' + elem.classname +' ');} 함수 addClass (ele, cls) {if (! hasclass (elem, cls)) {ele.classname = ele.classname ==' '? CLS : ELE.CLASSNAME + '' + CLS; }} 함수 addClass (ele, cls) {if (! hasclass (elem, cls)) {ele.classname = ele.classname == ''? CLS : ELE.CLASSNAME + '' + CLS; }} 함수 removeClass (ele, cls) {if (hasclass (elem, cls)) {var newclass = '' + elem.classname.replace (/[/t/r/n]/g, ''); while (newclass.indexof ( '' + cls + '')> = 0) {newClass = newClass.replace ( '' + cls + '', ''); } elem.className = newClass.replace (/^/s+|/s+$/g, ''); }}2 부 : 기본 J를 사용하여 jQuery의 AddClass, RemoveClass, Hasclass 함수 기능을 구현합니다.
함수 addClass (obj, cls) {var obj_class = obj.classname, // 클래스 컨텐츠 가져옵니다. blank = (obj_class! = '')? '': ''; // 획득 된 클래스가 비어 있는지, 비어 있지 않으면 비어 있지 않으면 그 앞에 '공간'을 추가하십시오. 추가 = obj_class + blank + cls; // 원래 클래스를 추가 해야하는 클래스와 결합합니다. obj.classname = adds; // 원래 클래스를 교체합니다.} 함수 removeclass (obj, cls) {var obj_class = '+obj.classname+' '; // 클래스 내용을 가져 와서 시작과 끝에 공간을 추가하십시오. 예) 'ABC BCD' -> 'ABC BCD'OBJ_CLASS = OBJ_CLASS.REPLAPE (/(/S+)/gi, ''), // 여분의 빈 문자를 공간으로 바꾸십시오. 예) 'ABC BCD' -> 'ABC BCD'removed = obj_class.replace ( ''+cls+'', ''); // 원래 클래스의 시작 부분과 끝 부분으로 클래스를 교체하십시오. 예) 'abc bcd' -> 'bcd'removed = removed.replace (/(^/s+) | (/s+$)/g, ''); // 시작과 끝 공간을 제거하십시오. 예) 'bcd' -> 'bcd'obj.classname = 제거; // 원래 클래스 교체. obj_class_lst = obj_class.split (// s+/); // 분할 빈 문자를 통해 CLS를 배열로 변환합니다. x = 0; for (obj_class_lst) {if (obj_class_lst [x] == cls) {// 배열을 루프하고 cls가 포함되어 있는지 여부를 결정합니다. }} return false;}위의 내용은이 기사에 관한 모든 것입니다. 모든 사람들이 JavaScript 프로그래밍을 배우는 것이 도움이되기를 바랍니다.