如何多次替换相同的字符?

use*_*748 5 javascript jquery replace

我需要替换其类与jQuery相同的所有元素的特定字符.考虑这个HTML代码:

<div class="product-name">
   <h1>Apple®</h1>
</div>

<div class="product-name">
   <h2>iPhone®</h2>
</div>

<div class="product-name">
   <h3>iPhone 5S®</h3>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要使用以下代码替换所有带有上标标记的charactesr:

$('.product-name').html(
  $('.product-name').html().replace(/®/gi, '<sup>&reg;</sup>')
);
Run Code Online (Sandbox Code Playgroud)

但是,此代码将仅替换第一次出现的代码.对于第二次及以后的事件,它将用第一个产品名称(包括h1标签)替换整个产品名称.

如何在不更改其他字符和标签的情况下仅替换®字符?

ade*_*neo 4

您可以使用回调 inhtml()将值返回给集合中的每个元素

\n\n
$(\'.product-name\').html(function(_, html) {\n     return html.replace(/\xc2\xae/gi, \'<sup>&reg;</sup>\')\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

小提琴

\n