$('.change').click(function() {
$('.link').each(function(e) {
var color = this.className.match(/color-\w+/gi);
alert(color);
});
});
我基本上喜欢这样来提醒\w+
找到的正则表达式,而不是整个字符串。我怎么能这样做?
此外,如何在不删除此实例后的正则表达式的情况下删除color-
?
答案 0 :(得分:1)
使用捕获组获取颜色:
$('.change').click(function() {
$('.link').each(function(e) {
var pattern = /color-(\w+)/gi;
var match = pattern.exec(this.className);
var color = match[1];
alert(color);
});
});
答案 1 :(得分:1)
您可以使用javascript正则表达式循环匹配,这将返回数组中的组。您还可以将replace
功能与组后退参考一起使用以删除颜色 -
$('.change').click(function() {
$('.link').each(function(e) {
// find regex matching groups
var regex = /color-(\w+)/gi;
var match;
while (match = regex.exec(this.className)) {
alert(match[1]);
}
// remove color-
this.className = this.className.replace(/color-(\w+)/gi, "$1");
});
});