web-dev-qa-db-ja.com

JavaScript / jQuery:文字列の一部を置き換えますか?

このようなテキストで:

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

N/Aのすべての出現を取り除きたいです。

私の試みは次のとおりです。

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

ログに記録されるテキストは、スパン内のテキストなので、セレクターは問題ありません。

ここで何が間違っていますか?

39
matt

置換呼び出しの後にテキストを設定する必要があります。

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

コードの動作は次のとおりです。 http://jsfiddle.net/ZSXb6/


これを行う別のクールな方法を次に示します(ハットチップ@Felix King):

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

こんな感じ

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