Este artículo se divide en dos partes para explicación, el contenido específico es el siguiente.
Parte 1: Implementación de JS nativo de AddClass, RemoveClass, HaClass Methods
función HasClass (Elem, CLS) {CLS = CLS || ''; if (cls.replace (// s/g, '') .length == 0) return false; // Cuando CLS no tiene parámetros, devuelve nuevo Regexp (' + CLS +' ') .test (' ' + elem.classname +' ');} function addClass (ele, cls) {if (! Hasclass (elem, cls)) {ele.classname = ele.classname ==' '? CLS: ELE.ClassName + '' + CLS; }} function addClass (ele, cls) {if (! Hasclass (elem, cls)) {ele.classname = ele.classname == ''? CLS: ELE.ClassName + '' + CLS; }} function 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, ''); }}Parte 2: Use JS nativo para implementar la función de función AddClass, eliminar y HASCLASS de JQuery
función addClass (obj, cls) {var obj_class = obj.classname, // obtener contenido de clase. blank = (obj_class! = '')? '': ''; // defiende si la clase obtenida está vacía, si no está vacía, agregue un 'espacio' frente a ella. agregado = obj_class + blank + cls; // Combinando la clase original con la clase que debe agregarse. obj.classname = agregado; // Reemplazar la clase original.} Función RemoveClass (obj, cls) {var obj_class = '+obj.classname+' '; // Obtener el contenido de clase y agregar un espacio al principio y al final. ex) 'ABC BCD' -> 'ABC BCD' obj_class = obj_class.replace (/(/s+)/gi, ''), // reemplazar los caracteres adicionales vacíos con un espacio. ex) 'ABC BCD' -> 'ABC BCD' eliminado = obj_class.replace (''+cls+'', ''); // Reemplazar la clase con espacios al principio y al final en la clase original. ex) 'ABC BCD' -> 'BCD' eliminado = removed.replace (/(^/s+) | (/s+$)/g, ''); // Eliminar los espacios de principio y final. ex) 'BCD' -> 'BCD' obj.className = eliminado; // Reemplazar la clase original.} function HasClass (obj, cls) {var obj_class = obj.classname, // Obtener el contenido de la clase. obj_class_lst = obj_class.split (// s+/); // Convertir CLS en una matriz a través de caracteres vacíos divididos. x = 0; for (x en obj_class_lst) {if (obj_class_lst [x] == cls) {// bucle la matriz y determine si contiene cls return true; }} return false;}Lo anterior se trata de este artículo, espero que sea útil para todos aprender la programación de JavaScript.