web-dev-qa-db-fra.com

JavaScript / jQuery: remplacer une partie de la chaîne?

Avec un texte comme celui-ci:

<div class="element">
<span>N/A, Category</span>
</div>

Je veux me débarrasser de chaque occurrence de N/A.

Voici ma tentative:

$('.element span').each(function() {
        console.log($(this).text());
        $(this).text().replace('N/A, ', '');
    });

Le texte enregistré est le texte à l'intérieur de la plage, donc le sélecteur est correct.

Qu'est-ce que je fais mal ici?

39
matt

Vous devez définir le texte après l'appel de remplacement:

$('.element span').each(function() {
        console.log($(this).text());
        var text = $(this).text().replace('N/A, ', '');
        $(this).text(text);
    });

Voici votre code qui fonctionne: http://jsfiddle.net/ZSXb6/


Voici une autre façon de le faire (astuce chapeau @Felix King):

$(".element span").text(function(index, text) {
    return text.replace("N/A, ", "");
});
91
Andrew Whitaker

Ça devrait être comme ça

$(this).text($(this).text().replace('N/A, ', ''))
12
Codler