Jquery找到替换多个单词

时间:2015-02-19 16:11:14

标签: jquery replace find 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")); 
});

谢谢。

2 个答案:

答案 0 :(得分:2)

替换不能接受多个参数,但您可以将其链接,例如:

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

答案 1 :(得分:0)

您只需使用正则表达式替换字符串中的所有匹配项。

$(".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相同的元素(用'#'表示)。所以,我将属性和选择器更改为类 如果您只想更改一个元素的值,可以将逻辑从第二个块移动到第一个块的主体:

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