JavaScript / jQuery:替换部分字符串?

问题描述 投票:37回答:2

使用这样的文字:

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

我想摆脱N/A的每一次出现。

这是我的尝试:

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

记录的文本是范围内的文本,因此选择器是可以的。

我在这做错了什么?

javascript jquery replace
2个回答
89
投票

您需要在替换呼叫后设置文本:

$('.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, ", "");
});

12
投票

它应该是这样的

$(this).text($(this).text().replace('N/A, ', ''))
© www.soinside.com 2019 - 2024. All rights reserved.