正在回答 回答被采纳积分+1
同学你好,针对你的问题如下解答:
(1)布局问题:
(2)前面理解的正确。后面理解的是有问题的, \s没有被转义,而//是replace方法的格式:
g表示全局匹配。
(3)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()方法将数组拼接成字符串,最后替换字符串中多余的空白字符。达到实现删除指定类名的方法。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星