Artikel ini dibagi menjadi dua bagian untuk penjelasan, konten spesifik adalah sebagai berikut
Bagian 1: Implementasi JS asli AddClass, Removeclass, Hasclass Metode
function hasclass (elem, cls) {cls = cls || ''; if (cls.replace (// s/g, '') .length == 0) return false; // Ketika CLS tidak memiliki parameter, kembalikan regexp baru (' + cls +' ') .test (' ' + elem.classname +' ');} function addclass (ele, cls) {if (! Hasclass (elem, cls)) {ele.classname = ele.classname ==' '? CLS: ELE.ClassName + '' + CLS; }} fungsi 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, ''); }}Bagian 2: Gunakan JS asli untuk mengimplementasikan fungsi addClass, removeclass, hasclass fungsi
fungsi addClass (obj, cls) {var obj_class = obj.classname, // Dapatkan konten kelas. blank = (obj_class! = '')? '': ''; // Pertahankan apakah kelas yang diperoleh kosong, jika tidak kosong, tambahkan 'ruang' di depannya. ditambahkan = obj_class + blank + cls; // menggabungkan kelas asli dengan kelas yang perlu ditambahkan. obj.classname = ditambahkan; // ganti kelas asli.} fungsi removeclass (obj, cls) {var obj_class = '+obj.classname+' '; // Dapatkan konten kelas dan tambahkan ruang di awal dan akhir. Ex) 'ABC BCD' -> 'ABC BCD' OBJ_Class = Obj_Class.replace (/(/s+)/gi, ''), // Ganti karakter kosong ekstra dengan ruang. Ex) 'ABC BCD' -> 'ABC BCD' dihapus = obj_class.replace (''+cls+'', ''); // Ganti kelas dengan spasi di awal dan akhir di kelas asli. Ex) 'abc bcd' -> 'bcd' dihapus = dihapus.replace (/(^/s+) | (/s+$)/g, ''); // Hapus spasi awal dan akhir. Ex) 'bcd' -> 'bcd' obj.classname = dihapus; // ganti kelas asli.} function hasclass (obj, cls) {var obj_class = obj.classname, // Dapatkan konten kelas. obj_class_lst = obj_class.split (// s+/); // Konversi cl menjadi array melalui karakter kosong split. x = 0; untuk (x di obj_class_lst) {if (obj_class_lst [x] == cls) {// loop array dan tentukan apakah itu berisi cl return true; }} return false;}Di atas adalah semua tentang artikel ini, saya harap akan sangat membantu bagi semua orang untuk mempelajari pemrograman JavaScript.