匹配CSS类并使用jquery和regex删除
match css classes and remove using jquery and regex
我正在尝试匹配并从HTML标签中删除多个类:
//Apply style to item
$('.palette-item').each(function () {
var $this = $(this);
$this.on("click", function () {
target = $("#get-clicked-element-unique-selector").text();
//this works: matches removes one class starting with color
//E.g color1
$(target).removeClass (function (index, css) {
return (css.match (/'bcolor'S+/g) || []).join(' ');
});
//But I want to remove not only classes starting with "color" but
//also classes starting with "grey"
//Have tried the following but not working
$(target).removeClass (function (index, css) {
return (css.match (/'bcolor'S+/g) || (/'bgrey'S+/g) || []).join(' ');
});
//Have tried splitting the two like so but the click event and
//addClass statement don't work after that
$(target).removeClass (function (index, css) {
return (css.match (/'bcolor'S+/g) || []).join(' ');
});
$(target).removeClass (function (index, css) {
return (css.match (/'bgrey'S+/g) || []).join(' ');
});
$(target).addClass($(this).data('color'));
});
});
这是一个html被点击的例子:
<div id="color1-wrapper" class="palette-item" data-color="color1"></div>
<div id="color1a-wrapper" class="palette-item" data-color="color1a"></div>
<div class="grey0 palette-item" data-color="grey0"></div>
<div class="grey1 palette-item" data-color="grey1"></div>
这是"#get-clicked-element-unique-selector"的引用:
<p id="get-clicked-element-unique-selector"></p>
我认为错误在match
。
css
参数是一个字符串,包含所有类"class1 class2 class3"(如果直接添加到html代码中)。
我的建议是这样做,如果你试图删除以"color"开头的类:
return ((" "+css+" ").match(/'bcolor'S*'b/g)||[]).join(' ');
关键是用空格包装css
字符串,然后匹配"space+classPrefix+anyCharacters+space"。
你可以试试这个regex:
var m=c.match(/(color[a-zA-Z0-9]+)|(grey[a-zA-Z0-9]+)/g);
return m ? m.join(' ') : m;
它将匹配您正在寻找的类。我在这里创建了一个演示:http://jsfiddle.net/lotusgodkk/mnYpB/4/
你可以在你的代码中实现它,并尝试它是否工作。
这将更好地表达您想要匹配的内容:
css.match (/'b(color|grey)'S+/g)
相关文章:
- jQuery-Regex以防止任何特殊字符
- jQuery regex从文本链接-添加不需要的域到链接
- Jquery-Regex按键操作在Chrome和Firefox中有所不同
- jQuery regex标记换行
- 从字符串中jQuery Regex
- 自动替换为jquery regex
- jquery regex表达式警报框
- 使用jquery regex在文本字段中输入0到100
- If语句中的jQuery RegEx
- JQuery Regex - 获取字符串中的数字
- jquery / Regex,停止事件冒泡
- jquery REGEX for longstring with azAZ-09-specialchars and |
- 具有范围数值的输入框的KeyUp事件的Jquery Regex
- jQuery-RegEx工作异常
- jquery ui的客户端缓存自动完成:javascript/jquery regex匹配字符串"索引“;对象
- 使用jquery regex对空电子邮件地址进行验证
- jquery regex修补程序导致高cpu消耗
- jquery REGEX验证仅用于字母和数字u
- jQuery regex数据请求错误
- jQuery Regex匹配错误