内部にオブジェクトを含む配列があり、いくつかのオブジェクトの文字列にアンダースコアが含まれています。
例:
{"name": "My_name"}
しかし、私は複数の場所で名前関数を呼び出しています。そのような場所の 1 つは、アンダースコアが必要な画像タグ内です。JavaScript を使用して、名前が含まれる特定の div を選択し、アンダースコアをスペースに置き換えたいと考えています。
例:
<div>
<div class="name">
My_name
</div>
<img src="My_name.jpg"/>
</div>
では、の代わりにdiv.name
と言いたいです。My name
My_name
ベストアンサー1
String.prototype.replace
グローバル正規表現を使用して、文字列内のすべてのアンダースコアをスペースに置き換えることができます。
str.replace(/_/g, ' ')
コンテンツを挿入する前にこれを行ってください。または、後で置換を実行する必要があるときは、jQueryの解決策は次のとおりです:
$('.name').text((i, oldText) =>
oldText.replace(/_/g, ' '));
これは次の単純な DOM API ループと同等です。
for (const element of document.getElementsByClassName('name')) {
element.textContent = element.textContent.replace(/_/g, ' ');
}