Dieser Artikel ist in zwei Teile unterteilt
Teil 1: Native JS -Implementierung von AddClass, Removeclass, Hasclass -Methoden
Funktion hasclass (elem, cls) {cls = cls || ''; if (cls // Wenn CLS keine Parameter hat, geben Sie neue Regexp zurück (' + cls +' ') .Test (' ' + elem.classname +' ');} Funktion addClas (ele, cls) {if (! Hasclass (Elem, cls)) {ele.classname = ele.classname ==' '? CLS: ELE.CLASSNAME + '' + CLS; }} Funktion addClass (ele, cls) {if (! hasclass (elem, cls)) {ele.className = ele.className == ''? CLS: ELE.CLASSNAME + '' + CLS; }} Funktion removeClass (ele, cls) {if (hasclass (elem, cls)) {var newClass = '' + elem.className.replace (/[/t/r/r/n]/g, '') + ''; while (newClass.indexof ('' + cls + '')> = 0) {newClass = newClass.replace ('' + cls + '', ''); } Elem.ClassName = newClass.replace (/^/s+|/s+$/g, ''); }}Teil 2: Verwenden Sie native JS, um die Funktion von addClass, removeclass und hasclass -Funktion von JQuery zu implementieren
Funktion AddClass (OBJ, CLS) {var obj_class = obj.classname, // Klasseninhalte abrufen. Blank = (obj_class! = '')? '': ''; // verteidigen, ob die erhaltene Klasse leer ist, wenn sie nicht leer ist, fügen Sie einen "Raum" vor sie hinzu. Hinzufügen = obj_class + leer + cls; // kombiniert die ursprüngliche Klasse mit der Klasse, die hinzugefügt werden muss. obj.classname = hinzugefügt; // Ersetzen Sie die ursprüngliche Klasse.} Funktion removeclass (obj, cls) {var obj_class = '+obj.classname+' '; // Ersetzen Sie den Klasseninhalt und fügen Sie am Anfang und Ende einen Speicherplatz hinzu. Ex) 'ABC BCD' -> 'ABC BCD' OBJ_CLASS = OBJ_CLASS.REPLACE (/(/s+)/gi, ''), // Ersetzen Sie die zusätzlichen leeren Zeichen durch einen Raum. Ex) 'ABC BCD' -> 'ABC BCD' entfernt = obj_class.replace (''+cls+'', ''); // Ersetzen Sie die Klasse am Anfang und in der ursprünglichen Klasse durch Leerzeichen. Ex) 'ABC BCD' -> 'BCD' entfernt = entfernt.Replace (/(^/s+) | (/s+$)/g, ''; // Entfernen Sie die Anfangs- und Endräume. ex) 'bcd' -> 'bcd' obj.className = entfernt; // Ersetzen Sie die ursprüngliche Klasse.} Funktion Hasclass (OBJ, CLS) {var obj_class = obj.classname, // den Klasseninhalt erhalten. obj_class_lst = obj_class.split (// s+/); // CLS durch gespaltene leere Zeichen in ein Array konvertieren. x = 0; für (x in obj_class_lst) {if (obj_class_lst [x] == cls) {// Schleifen Sie das Array und bestimmen Sie, ob es CLS -Return true enthält; }} return false;}Das obige dreht sich alles um diesen Artikel. Ich hoffe, dass es für alle hilfreich sein wird, JavaScript -Programme zu lernen.