Ho bisogno di sostituire un carattere specifico per tutti gli elementi la cui classe è la stessa con jQuery. Considerate questo codice html:Come sostituire lo stesso carattere più volte?
<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>
ho bisogno di sostituire tutto il ® charactesr con tag apice con questo codice:
$('.product-name').html(
$('.product-name').html().replace(/®/gi, '<sup>®</sup>')
);
Tuttavia, questo codice sostituirà solo la prima occorrenza. Per la seconda e oltre occorrenze, sostituirà l'intero nome del prodotto con il nome del primo prodotto, compresi i tag h1.
Come posso sostituire solo i caratteri ® senza modificare gli altri caratteri e le etichette?
+1 per l'uso di 'g' per sostituire tutto. Abbastanza sicuro che l'opzione 'i' sia ridondante su questo :) –
(Ironia della sorte, l'uso della richiamata elimina i problemi sull'input corrente, anche senza' g' ..) – user2864740
@ user2864740 - Sì, se c'è solo uno di quei caratteri in ogni elemento, la regex non sarebbe affatto necessaria. – adeneo