1. ホーム
  2. javascript

[解決済み] アンダースコアをスペースに置き換えるには?

2022-02-14 14:11:26

質問内容

オブジェクトを含む配列がありますが、いくつかのオブジェクトは文字列の中にアンダースコアを含んでいます。

{"name": "My_name"}

しかし、私は複数の場所でname関数を呼び出しています。そのような場所の1つは、アンダースコアが必要な画像タグの中です。JavaScriptを使って、nameが含まれる特定の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, ' ');
});