Cela ne fonctionne pas et j'en ai cruellement besoin
$('some+multi+Word+string').replace('+', ' ' );
obtient toujours
some multi+Word+string
il remplace toujours uniquement pour la première instance, mais j'ai besoin que cela fonctionne pour tous les symboles.
Vous devez utiliser une expression régulière pour pouvoir spécifier l'indicateur global (g):
var s = 'some+multi+Word+string'.replace(/\+/g, ' ');
(J'ai supprimé la $()
autour de la chaîne, car replace
n'est pas une méthode jQuery, donc cela ne fonctionnera pas du tout.)
'some+multi+Word+string'.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 sur lequel effectuer le remplacement:
$(document).ready(function () {
$('.myclass').each(function () {
$('img').each(function () {
$(this).attr('src', $(this).attr('src').replace('_s.jpg', '_n.jpg'));
})
})
});
Cela remplace le remplacement une fois sur chaque chaîne, mais à l'aide d'un sélecteur plus spécifique.