jQuery – remplace toutes les occurrences d’un caractère dans une chaîne

Cela ne fonctionne pas et j’en ai mal besoin

$('some+multi+word+ssortingng').replace('+', ' ' ); 

obtient toujours

 some multi+word+ssortingng 

il remplace toujours pour la première instance seulement, mais j’en ai besoin pour travailler avec tous les symboles +.

Vous devez utiliser une expression régulière pour pouvoir spécifier l’indicateur global (g):

 var s = 'some+multi+word+ssortingng'.replace(/\+/g, ' '); 

(J’ai enlevé le $() autour de la chaîne, car replace n’est pas une méthode jQuery, donc ça ne marchera pas du tout.)

 'some+multi+word+ssortingng'.replace(/\+/g, ' '); ^^^^^^ 

‘g’ = “global”

À votre santé

RegEx est la voie à suivre dans la plupart des cas.

Dans certains cas, il peut être plus rapide de spécifier plus d’éléments ou l’élément spécifique pour effectuer le remplacement sur:

 $(document).ready(function () { $('.myclass').each(function () { $('img').each(function () { $(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg')); }) }) }); 

Cela fait le remplacement une fois sur chaque chaîne, mais il le fait en utilisant un sélecteur plus spécifique.