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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 10:12:14
字體:
來源:轉載
供稿:網友

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

第一部分:原生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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济南市| 日土县| 鹤峰县| 阜城县| 宝兴县| 昌吉市| 邯郸县| 凤台县| 乌兰察布市| 荃湾区| 蒙山县| 乌什县| 沙河市| 伊通| 景宁| 邻水| 宣恩县| 彭山县| 于都县| 庆元县| 文水县| 肃北| 府谷县| 丹阳市| 延寿县| 稻城县| 香港| 泗阳县| 金阳县| 东丽区| 秦皇岛市| 甘南县| 镇巴县| 临武县| 怀化市| 大厂| 江山市| 永春县| 维西| 锦州市| 满洲里市|