我有一个数组,里面有对象,其中一些对象在字符串中包含下划线。
示例:
{"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('_', ' '))