如何用空格替换下划线



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

示例:

{"name": "My_name"}

但我在多个地方调用name函数,其中一个地方是图像标记中需要下划线的地方,我想使用JavaScript选择一个包含名称的div,并用空格替换下划线。

示例:

<div>
 <div class="name">
  My_name
 </div>
 <img src="My_name.jpg"/>
</div>

div.name中,我希望它说My name而不是My_name

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

str.replace(/_/g, ' ');

因此,只需在内容放入之前执行此操作。如果之后需要执行替换,请使用each:循环

$('.name').each(function () {
    this.textContent = this.textContent.replace(/_/g, ' ');
});

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

str.replaceAll('_', ' ')

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

const elements = document.querySelectorAll('.name')   
elements.forEach(e => e.innerText = e.innerText.replaceAll('_', ' '))

最新更新