Cet article est divisé en deux parties pour l'explication, le contenu spécifique est le suivant
Partie 1: Implémentation native JS de AddClass, RemoveClass, Hasclass Methods
fonction hasclass (elem, cls) {CLS = CLS || ''; if (cls.replace (// s / g, '') .length == 0) return false; // Lorsque CLS n'a pas de paramètres, renvoyez un nouveau regexp ('+ cls +' ') .test (' '+ elem.classname +' ');} fonction addClass (ele, cls) {if (! Hasclass (elem, cls)) {ele.classname = ele.classname ==' '? CLS: ele.classname + '' + CLS; }} fonction addClass (ele, cls) {if (! HasClass (elem, cls)) {ele.classname = ele.classname == ''? CLS: ele.classname + '' + CLS; }} fonction reposovelass (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, ''); }}Partie 2: Utilisez Native JS pour implémenter la fonction de fonction AddClass, RemoveClass, HasClass de JQuery
fonction addClass (obj, cls) {var obj_class = obj.classname, // obtenez du contenu de classe. Blank = (obj_class! = '')? '': ''; // Défendez si la classe obtenue est vide, si elle n'est pas vide, ajoutez un «espace» devant lui. ajouté = obj_class + blanc + cls; // combinant la classe d'origine avec la classe qui doit être ajoutée. obj.className = ajouter; // remplacer la classe d'origine.} fonction reposoveclass (obj, cls) {var obj_class = '+ obj.classname +' '; // Obtenez le contenu de la classe et ajoutez un espace au début et à la fin. EX) 'ABC BCD' -> 'ABC BCD' OBJ_CLASS = OBJ_CLASS.replace (/ (/ s +) / gi, ''), // Remplacez les caractères supplémentaires vides par un espace. ex) 'ABC BCD' -> 'ABC BCD' supprimé = obj_class.replace ('' + CLS + '', ''); // Remplacez la classe par des espaces au début et se terminez dans la classe d'origine. EX) 'ABC BCD' -> 'BCD' supprimé = supprimé.replace (/ (^ / s +) | (/ s + $) / g, ''); // Retirez les espaces de début et de fin. ex) 'bcd' -> 'bcd' obj.classname = supprimé; // remplacer la classe d'origine.} fonction hasclass (obj, cls) {var obj_class = obj.classname, // Obtenez le contenu de classe. obj_class_lst = obj_class.split (// s + /); // Convertir CLS en un tableau via des caractères vides divisés. x = 0; pour (x dans obj_class_lst) {if (obj_class_lst [x] == CLS) {// Loop le tableau et déterminer s'il contient CLS return true; }} return false;}Ce qui précède concerne cet article, j'espère qu'il sera utile pour tout le monde d'apprendre la programmation JavaScript.