JavaScript/jQuery:替换部分字符串?

mat*_*att 40 javascript jquery replace

使用这样的文字:

<div class="element">
<span>N/A, Category</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我想摆脱每一次出现N/A.

这是我的尝试:

$('.element span').each(function() {
        console.log($(this).text());
        $(this).text().replace('N/A, ', '');
    });
Run Code Online (Sandbox Code Playgroud)

记录的文本是范围内的文本,因此选择器是可以的.

我在这做错了什么?

And*_*ker 93

您需要在替换呼叫后设置文本:

$('.element span').each(function() {
  console.log($(this).text());
  var text = $(this).text().replace('N/A, ', '');
  $(this).text(text);
});
Run Code Online (Sandbox Code Playgroud)

这是你的代码工作:http://jsfiddle.net/ZSXb6/


这是另一种很酷的方法(帽子提示@Felix King):

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="element">
  <span>N/A, Category</span>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 或者传递一个函数:`$(this).text(function(i,text){return text.replace(...);});` (16认同)
  • @bazmegakapa:哈哈,是的.我已经给@Felix很多赞成了:) (2认同)

Cod*_*ler 12

它应该是这样的

$(this).text($(this).text().replace('N/A, ', ''))
Run Code Online (Sandbox Code Playgroud)