如果element包含string,则替换它

时间:2016-01-05 13:04:46

标签: jquery string text replace

我想重命名这些中的所有英文日期:

<td class="date" style="text-align: right !important;">2016-01-07 (Thu)</td>

这是我的JS:

$(".date:contains('Mon'), .date:contains('Tue'), .date:contains('Wed'), .date:contains('Thu'), .date:contains('Fri'), .date:contains('Sat'), .date:contains('Sun')").html(function(i, text) {
    return text.replace(/Mon/g, 'H');
    return text.replace(/Tue/g, 'K');
    return text.replace(/Wed/g, 'Sz');
    return text.replace(/Thu/g, 'Cs');
    return text.replace(/Fri/g, 'P');
    return text.replace(/Sat/g, 'Szo');
    return text.replace(/Sun/g, 'V');
});

但它不会取代给定的文本。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

执行将在第一个string语句之后离开该函数。相反,您需要链接return来电:

replace()

Working example

答案 1 :(得分:0)

或者,您可以编写7个较小的函数,例如:

$(".date:contains('Mon')).html(function(i, text) { return text.replace(/Mon/g, 'H'); });
$(".date:contains('Tue')).html(function(i, text) { return text.replace(/Tue/g, 'K'); });
    ...