在元素中,我有:
<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:
答案 0 :(得分:1)
您可以尝试使用此正则表达式,具体删除fa-
或fa-cc
之后的所有超过两个字符的子字符串
fa(?:-(?:cc|\w{3,}))+
说明:
fa
-从字面上找到fa
(?:-\w{3,})+
-在一个非捕获组中找到-
,后跟三个或更多单词字符,并且一次或多次查找全部fa-address-book
大小写。让我知道这是否对您有用。