javascript removeClass 通配符,不太具体的模式
javascript removeClass wildcard, less specific pattern
在我拥有的元素中:
<span class="fa fa-address-book fa-user fa-4x fa-5x fa-lg"></span>
我需要删除它(fa-address-book 和 fa-user [font-awesome icons-names]),并保持原样:
注意:(fa-address-book和fa-user)是动态的,可以是任何人。
<span class="fa fa-4x fa-5x fa-lg"></span>
我的jQuery:
$(".button").click(function(e) {
var regexp_order = /(^|\s)fa-\S+|(?=fa-4x)|(?=fa-5x)|(?=fa-lg)|(?=fa)/;
var regexp = new RegExp(regexp_order, "g");
$("#demo").removeClass (function (index, className) {
return (className.match (regexp) || []).join(' ');
});
var temporal = $("#demo").attr("class");
$("#result").append(temporal);
});
我有很多问题。我做错了什么?
我的 jsFiddle:
您可以试试这个正则表达式,它会删除在 fa-
或 fa-cc
之后超过 2 个字符的所有子字符串,特别是
fa(?:-(?:cc|\w{3,}))+
解释:
fa
- 按字面意思查找 fa
(?:-\w{3,})+
- 在非捕获组中查找 -
后跟三个或更多单词字符一次或多次以覆盖大小写 fa-address-book
大小写。
让我知道这是否适合你。
在我拥有的元素中:
<span class="fa fa-address-book fa-user fa-4x fa-5x fa-lg"></span>
我需要删除它(fa-address-book 和 fa-user [font-awesome icons-names]),并保持原样:
注意:(fa-address-book和fa-user)是动态的,可以是任何人。
<span class="fa fa-4x fa-5x fa-lg"></span>
我的jQuery:
$(".button").click(function(e) {
var regexp_order = /(^|\s)fa-\S+|(?=fa-4x)|(?=fa-5x)|(?=fa-lg)|(?=fa)/;
var regexp = new RegExp(regexp_order, "g");
$("#demo").removeClass (function (index, className) {
return (className.match (regexp) || []).join(' ');
});
var temporal = $("#demo").attr("class");
$("#result").append(temporal);
});
我有很多问题。我做错了什么?
我的 jsFiddle:
您可以试试这个正则表达式,它会删除在 fa-
或 fa-cc
之后超过 2 个字符的所有子字符串,特别是
fa(?:-(?:cc|\w{3,}))+
解释:
fa
- 按字面意思查找fa
(?:-\w{3,})+
- 在非捕获组中查找-
后跟三个或更多单词字符一次或多次以覆盖大小写fa-address-book
大小写。
让我知道这是否适合你。