jQuery:用另一个替换数组

时间:2013-04-24 05:14:54

标签: javascript jquery replace

我使用下面的代码将一个字符的所有实例替换为另一个:

$("#myContent").each(function () {
    $(this).html($(this).html().replace("1", "一"));
})

$("#myContent").each(function () {
    $(this).html($(this).html().replace("2", "二"));
})

$("#myContent").each(function () {
    $(this).html($(this).html().replace("3", "三"));
})

...

如何将所有这些放在一起,比如用另一个替换数组?

3 个答案:

答案 0 :(得分:2)

这样的事情,未经测试:

var replacers = {
    '一': /1/gi,
    '二': /2/gi,
    '三': /3/gi
};

var el = $("#myContent"),
    html = el.html();

for (var key in replacers) {
    html = html.replace(replacers[key], key);
}
el.html(html);

答案 1 :(得分:0)

尝试这种方式,而不是:

var html = $(this).html();

html = html.replace(/1/g, "一");
html = html.replace(/2/g, "二");
html = html.replace(/3/g, "三");

$(this).html(html);

答案 2 :(得分:0)

尝试

var replacers = {
    '1': '一',
    '2': '二',
    '3': '三'
};

$("#myContent").html(function(index, html){
    $.each(replacers, function(i, v){
        html = html.replace(new RegExp(i, 'g'), v, 'g')
    })
    return html;
});

演示:Fiddle