我有以下代码:
$('.selector.active').each(function() {
$(this).replace(/\s/g, '_');
}
应该发生的事情是:.selector
类的每个元素都有.active
,替换空格" \s
"与" _
"
我遇到的是.replace
不能与$(this)
一起使用,因为$(this)
是jQuery obj而.replace
不是jQuery函数。我也试过了this.replace(/\s/g, '_');
,但也错了......
我想知道如何完成我要完成的工作(用.selector.active
作为类替换每个元素的带下划线的空格)。 jQuery或简单的JS - 它并不重要。
谢谢。
答案 0 :(得分:1)
我假设您要替换元素中的文本,在这种情况下您需要获取并设置文本;
$('.selector.active').each(function() {
$(this).text($(this).text().replace(/\s/g, '_'));
}
编辑:让我稍稍解决这个问题,以便你了解它在做什么
$('.selector.active').each(function() {
var innerText = $(this).text();
var replacedText = innerText.replace(/\s/g, '_');
//now set the new text in the element
$(this).text(replacedText);
}
我发布的第一个代码就是把它们放在一起。