为了账号安全,请及时绑定邮箱和手机立即绑定

getClassName这个函数 如果是一个div上有两个className怎么解决?请大牛给予帮助,谢谢!

正在回答

3 回答

可以先用 className.split(' ') 将字符串分割成div所包含所有类构成的数组,然后遍历数组是否等于查找类名就行

然而正则匹配需要判断:匹配类在字符串首、尾和中间还有其它类名包含或者用短线组合的类名,等等多种情况

比如 匹配'ades', 有'ades   ades w ades-wer ju-ades  dh ades'等等,可以看出若是RegExp=/\bades\b/这种就不能匹配在字符串首尾的情况,和误匹配到ades-wer中的ades,所以总体最终的正则匹配表达式会复杂许多,

这里给一个我想好久整出来的匹配表达式,理论上最优的是 /(?<=\s|^)ades(?=\s|$)/ig 不过这里js似乎不支持逆序环视匹配“ (?<= ”和“ (?<! ”,所以不行,浏览器报错,

退而求其次, 用这个/(?:\s|^)ades(?=\s|$)/ig ,这个就是可能会匹配到类名前后的空白字符,用非获取匹配 替代 逆序环视,总算匹配出想要的结果了

附上百度百科“正则表达式”词条:http://baike.baidu.com/view/94238.htm

0 回复 有任何疑惑可以回复我~

可以通过正则表达式判断是否包含有判断的类哦!

1 回复 有任何疑惑可以回复我~

用正则表达式匹配

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信