我现在完成但我必须拨打2次.removeClass()
个功能
如何将其合并以在一次正则表达式调用中查找结果?
HTML:
<div class="one-abc two-cba three-bac"></div>
jQuery:
$('div')
.removeClass(function(i,c){var m=c.match(/one-[a-z]{0,5}/);return m?m[0]:m;})
.removeClass(function(i,c){var m=c.match(/two-[a-z]{0,5}/);return m?m[0]:m;});
演示: http://jsbin.com/umoded/1/edit
答案 0 :(得分:4)
将两个表达式合并为一个,使用g
,然后加入匹配项:
var m = c.match(/(one-[a-z]{0,5}|two-[a-z]{0,5})/g);
return m ? m.join(' ') : m;
答案 1 :(得分:3)
:
可以一次删除多个类,以空格分隔,从匹配元素集中删除,如下所示:
$('p')。removeClass('myClass yourClass')
- &GT;
.removeClass(function(i,c){
var m=c.match(/one-[a-z]{0,5}/);
var n=c.match(/two-[a-z]{0,5}/);
return m+" "+n;});