Javascript用空格替换下划线

Pha*_*ael 34 html javascript jquery

我有一个包含对象的数组,其中一些对象在字符串中包含一个下划线

{"name": "My_name"}
Run Code Online (Sandbox Code Playgroud)

但我在多个地方调用名称功能,一个这样的地方是在图像标签中,下划线是必要的,使用javascript或jquery我想选择一个名称在其中的div,并用空格替换下划线

<div>
 <div class="name">
  My_name
 </div>
 <img src="My_name.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)

在div.name中,我希望它说出我的名字而不是My_name

我目前正在为我的项目使用jQuery和jQuery UI

Ry-*_*Ry- 75

您可以使用如下空格替换字符串中的所有下划线:

str.replace(/_/g, ' ');
Run Code Online (Sandbox Code Playgroud)

所以只需在放入内容之前执行此操作.如果您之后需要执行替换,请使用each以下命令循环:

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

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


leo*_*ess 6

ES2021 引入了漂亮的replaceAll()函数,这意味着它可以写成:

str.replaceAll('_', ' ')
Run Code Online (Sandbox Code Playgroud)

如果你想做多个元素,只需循环它们并使用forEach()

let elements = document.querySelectorAll('.name')   
elements.forEach(e => e.innerText = e.innerText.replaceAll('_', ' '))
Run Code Online (Sandbox Code Playgroud)