Este artigo é dividido em duas partes para explicação, o conteúdo específico é o seguinte
Parte 1: Implementação nativa de JS de Addclass, RemoveClass, Métodos Hasclass
função hasclass (elem, cls) {cls = cls || ''; if (cls.place (// s/g, '') .Length == 0) retorna false; // Quando o CLS não possui parâmetros, retorne novos regexp (' + cls +' ') .test (' ' + elem.classname +' '');} função addclass (ele, cls) {if (! Hasclass (elem, cls)) {ele.classname = eLe.classname == '' '' ''? CLS: ele.className + '' + cls; }} função addclass (ele, cls) {if (! hasclass (elem, cls)) {ele.classname = ele.className == ''? CLS: ele.className + '' + cls; }} função 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, ''); }}Parte 2: Use JS nativo para implementar a função JQuery Addclass, RemoveClass, Hasclass
função addclass (obj, cls) {var obj_class = obj.className, // Get Class Content. em branco = (obj_class! = '')? '': ''; // defende se a classe obtida está vazia, se não estiver vazia, adicione um 'espaço' na frente dela. adicionado = obj_class + em branco + cls; // combinando a classe original com a classe que precisa ser adicionada. obj.className = adicionado; // substitua a classe original.} função removeclass (obj, cls) {var obj_class = '+obj.className+' '; // Obtenha o conteúdo da classe e adicione um espaço no início e no final. ex) 'abc bcd' -> 'abc bcd' obj_class = obj_class.replace (/(/s+)/gi, ''), // substitua os caracteres vazios extras por um espaço. ex) 'abc bcd' -> 'abc bcd' removido = obj_class.replace (''+cls+'' '' '); // substitua a classe por espaços no início e no final da classe original. ex) 'abc bcd' -> 'bcd' removido = removido.Replace (/(^/s+) | (/s+$)/g, ''); // remova os espaços iniciantes e finais. ex) 'bcd' -> 'bcd' obj.className = removido; // substitua a classe original.} função hasclass (obj, cls) {var obj_class = obj.className, // obtenha o conteúdo da classe. obj_class_lst = obj_class.split (// s+/); // converte CLS em uma matriz através de caracteres vazios divididos. x = 0; para (x em obj_class_lst) {if (obj_class_lst [x] == cls) {// loop a matriz e determine se ele contém CLS retornar true; }} retornar false;}O exposto acima é tudo sobre este artigo, espero que seja útil para todos aprenderem a programação de JavaScript.