تنقسم هذه المقالة إلى جزأين للتوضيح ، والمحتوى المحدد هو كما يلي
الجزء 1: تنفيذ JS الأصلي لـ AddClass ، RemoveClass ، طرق Hasclass
وظيفة hasclass (elem ، cls) {cls = cls || '' ؛ if (cls.replace (// s/g ، '') .Length == 0) return false ؛ // عندما لا تحتوي CLS على معلمات ، إرجاع regexp جديد (' + cls +' ') .Test (' ' + elem.classname +' ') ؛} function addClass (ele ، cls) {if (! hasclass (elem ، cls)) {ele.classname = ele.classname ==' ''؟ CLS: eLe.ClassName + '' + CLS ؛ }} وظيفة 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 ، '') + '' ؛ بينما (newClass.indexof ('' + cls + '')> = 0) {newClass = newClass.replace ('' + cls + '' ، '') ؛ } elem.className = newClass.replace (/^/s+|/s+$/g ، '') ؛ }}الجزء 2: استخدم JS الأصلي لتنفيذ AddClass JQuery ، removeClass ، وظيفة HasClass
دالة addClass (OBJ ، CLS) {var obj_class = obj.className ، // الحصول على محتوى الفئة. فارغ = (obj_class! = '')؟ "':' '؛ // الدفاع عن ما إذا كانت الفئة التي تم الحصول عليها فارغة ، إذا لم تكن فارغة ، أضف" مساحة "أمامه. تمت إضافة = OBJ_CLASS + فارغ + CLS ؛ // الجمع بين الفئة الأصلية والفئة التي يجب إضافتها. OBJ.ClassName = تمت إضافته ؛ // استبدل الفئة الأصلية. على سبيل المثال) 'abc bcd' -> 'abc bcd' obj_class = obj_class.replace (/(/s+)/gi ، '') ، // استبدل الأحرف الفارغة الإضافية بمساحة. على سبيل المثال) "ABC BCD" -> "ABC BCD" إزالة = obj_class.replace (''+cls+'' ، '') ؛ // استبدل الفئة بالمسافات في البداية والنهاية في الفئة الأصلية. على سبيل المثال) 'abc bcd' -> 'bcd' تم إزالته = reded.replace (/(^/s+) | (/s+$)/g ، '') ؛ // قم بإزالة المساحات البداية والنهاية. على سبيل المثال) 'bcd' -> 'bcd' obj.classname = reded ؛ // استبدل الفئة الأصلية. OBJ_CLASS_LST = OBJ_CLASS.SPLIT (// S+/) ؛ // تحويل CLS إلى صفيف من خلال أحرف فارغة تقسيم. x = 0 ؛ لـ (x في OBJ_CLASS_LST) {if (obj_class_lst [x] == cls) {// loop the array وحدد ما إذا كان يحتوي على cls return true ؛ }} إرجاع خطأ ؛}ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون من المفيد للجميع تعلم برمجة JavaScript.