我有一个包含对象的数组,其中一些对象在字符串
中包含一个下划线实施例
{"name": "My_name"}
但是我在多个地方调用名称功能,一个这样的地方是在图像标签中,下划线是必要的,使用javascript或jquery我想选择一个名称在其中的某个div并替换下划线空间
实施例
<div>
<div class="name">
My_name
</div>
<img src="My_name.jpg"/>
</div>
在div.name中我希望它说出我的名字而不是My_name
我目前正在为我的项目使用jQuery和jQuery UI
答案 0 :(得分:68)
您可以使用如下空格替换字符串中的所有下划线:
str.replace(/_/g, ' ');
所以只需在放入内容之前执行此操作。如果您之后需要执行替换,请使用each
循环:
$('.name').each(function() {
var $this = $(this);
$this.text($this.text().replace(/_/g, ' '));
});
答案 1 :(得分:0)
ES2021引入了漂亮的replaceAll()函数,这意味着它可以写为:
str.replaceAll('_', ' ');
如果您想执行多个元素,则将它们循环并使用forEach():
let elements = document.querySelectorAll('.name');
elements.forEach(e => e.replaceAll('_', ' '));