JQuery - 用空间替换下划线

ada*_*m78 0 html regex jquery

我有以下html,我想用带有空格的下划线替换所有出现在带有类的div内的锚标签 xyz

<div class="xyz">
  <b><a>Hello_1</a></b>
</div>
<div class="xyz">
   <b><a>Hello_2</a></b>
</div>
Run Code Online (Sandbox Code Playgroud)

以下不起作用?

$('.xyz').each(function() {
   var $this = $(this);

   $this.find('a').text().replace(/_/g, ' '));
});
Run Code Online (Sandbox Code Playgroud)

Tus*_*har 5

正则表达式没有问题.您没有更新DOM中的文本. .text()给出textContent一个元素,它没有设置它.你可以使用text()setter如下

$('.xyz a').text(function(i, text) {
    return text.replace(/_/g, ' ');
});
Run Code Online (Sandbox Code Playgroud)

$('.xyz a').text(function(i, text) {
  return text.replace(/_/g, ' ');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="xyz">
  <b><a>Hello_1</a></b>
</div>
<div class="xyz">
  <b><a>Hello_2</a></b>
</div>
Run Code Online (Sandbox Code Playgroud)