jQuery - 如何使用.replace与jQuery obj

时间:2016-08-10 01:24:52

标签: javascript jquery

我有以下代码:

$('.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 - 它并不重要。

谢谢。

1 个答案:

答案 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);
}

我发布的第一个代码就是把它们放在一起。