国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

原生js實現addClass,removeClass,hasClass方法

2024-05-06 16:30:31
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了原生js實現addClass,removeClass,hasClass方法和使用原生JS實現jQuery的addClass, removeClass, hasClass函數功能,需要的朋友可以參考下
 

本文分為兩部分進行講解,具體內容如下

第一部分:原生js實現addClass,removeClass,hasClass方法

function hasClass(elem, cls) {  cls = cls || '';  if (cls.replace(//s/g, '').length == 0) return false; //當cls沒有參數時,返回false  return new RegExp(' ' + cls + ' ').test(' ' + elem.className + ' ');}function 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, '');  }}

第二部分:使用原生JS實現jQuery的addClass, removeClass, hasClass函數功能

function addClass(obj, cls){  var obj_class = obj.className,//獲取 class 內容.  blank = (obj_class != '') ? ' ' : '';//判斷獲取到的 class 是否為空, 如果不為空在前面加個'空格'.  added = obj_class + blank + cls;//組合原來的 class 和需要添加的 class.  obj.className = added;//替換原來的 class.} function removeClass(obj, cls){  var obj_class = ' '+obj.className+' ';//獲取 class 內容, 并在首尾各加一個空格. ex) 'abc    bcd' -> ' abc    bcd '  obj_class = obj_class.replace(/(/s+)/gi, ' '),//將多余的空字符替換成一個空格. ex) ' abc    bcd ' -> ' abc bcd '  removed = obj_class.replace(' '+cls+' ', ' ');//在原來的 class 替換掉首尾加了空格的 class. ex) ' abc bcd ' -> 'bcd '  removed = removed.replace(/(^/s+)|(/s+$)/g, '');//去掉首尾空格. ex) 'bcd ' -> 'bcd'  obj.className = removed;//替換原來的 class.} function hasClass(obj, cls){  var obj_class = obj.className,//獲取 class 內容.  obj_class_lst = obj_class.split(//s+/);//通過split空字符將cls轉換成數組.  x = 0;  for(x in obj_class_lst) {    if(obj_class_lst[x] == cls) {//循環數組, 判斷是否包含cls      return true;    }  }  return false;}

以上就是本文的全部內容,希望對大家學習javascript程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石狮市| 格尔木市| 兴业县| 衡南县| 汉源县| 江山市| 金华市| 大安市| 民勤县| 休宁县| 达拉特旗| 灵璧县| 弥渡县| 黄陵县| 吴堡县| 乡宁县| 侯马市| 新巴尔虎右旗| 合川市| 桑日县| 丽江市| 清镇市| 万源市| 大英县| 开封市| 辽阳县| 灵武市| 肇州县| 都江堰市| 错那县| 沧州市| 中方县| 深水埗区| 黄梅县| 秀山| 玛纳斯县| 尚义县| 两当县| 顺平县| 禄劝| 沾益县|