老师能详细解释一下这条函数吗
来源:5-2 基本函数
CC陈十一
2019-04-04 14:09:46
setCls( element,baseCls.split(cls).join(' ').replace(/\s+/g,' ') );
视频中13:02的地方。主要是baseCls.split(cls).join(' ').replace(/\s+/g,' '这段看着不是很懂
谢谢老师了
1回答
同学你好, 视频中是在删除元素样式delCls函数中调用的setCls( element,baseCls.split(cls).join(' ').replace(/\s+/g,' ') ); 这里可以这样理解:
setCls函数是为元素设置样式的,
element 表示为要删除样式的元素
cls 表示指定删除的类名
baseCls 是获取当前元素element的所有class类名
split() 是将字符串分割成数组,如果传递参数表示从指定的参数位置开始将字符串分割成数组。利用这种特性, 删除元素的样式, 例:下面的例子分割成数组后,数组中没有c这个元素了

join() 将数组拼接成字符串,这里传入空格, 表示使用空格拼接字符串
replace(param1, param2) 字符替换方法, 接收两个参数, 第一个参数可以使用正则表达式匹配要被替换的字符, 第二个参数表示准备替换的字符串
/\s+/g 表示全局匹配任意个空白字符,
所以baseCls.split(cls).join(' ').replace(/\s+/g,' ')这句代码就是, 将元素本来拥有的所有class类名通过split()方法把需要删除的样式删除了,得到一个新的数组, 然后再通过join()方法将数组拼接成字符串,最后替换字符串中多余的空白字符。达到实现删除指定类名的方法
如果帮助到了你 欢迎采纳
祝学习愉快~~~
相似问题