Jquery 查找替换多个单词

Jquery find replace multiple words

我正在尝试替换同一个 div 中的多个单词。
显然这行不通,这是我的代码。

$("#Number").each(function() {
    var text = $(this).text();
    $(this).text(text.replace("Monster", "Witch")); 
});
$("#Number").each(function() {
    var text = $(this).text();
    $(this).text(text.replace("Girl", "Boy")); 
});

谢谢。

替换不能接受多个参数,但你可以链接它,例如:

$("#Number").each(function() {
    $(this).html($(this).html().replace('find1', 'replace1').replace('find2', 'replace2'));
});

您可以简单地使用正则表达式来替换字符串中所有出现的地方。

$(".Number").each(function() {
    $(this).text($(this).text().replace(/Monster/g, "Witch")); 
});
$(".Number").each(function() {
    $(this).text($(this).text().replace(/Girl/g, "Boy")); 
});

查看工作 JSFiddle here

注意:请记住,两个元素不能具有相同的 ID(用“#”表示)。所以,我将属性和选择器更改为 class.
如果只想更改一个元素的值,可以将逻辑从第二个块移动到第一个块的主体:

$("#Number").each(function() {
    $(this).text($(this).text().replace(/Monster/g, "Witch")); 
    $(this).text($(this).text().replace(/Girl/g, "Boy")); 
});