1

是否有可能将此查询缩短为一个?

$('p:contains(Tel:)').html(function() {
    return $(this).html().replace('Tel:', '<strong>Tel:</strong>');
});
$('p:contains(Fax:)').html(function() {
    return $(this).html().replace('Fax:', '<strong>Fax:</strong>');
});

我的代码查找 Tel: 和 Fax: 并用<strong>标签包装它们

4

1 回答 1

5

您可以将它们合并为:

$('p:contains(Tel:), p:contains(Fax:)').html(function(_, html) {
    return html.replace(/(Tel\:|Fax\:)/g, '<strong>$1</strong>');
});

但实际上这有点多余:您要求 jQuery 在您自己进行搜索之前进行第一次搜索。

我个人更喜欢这个:

$('p').each(function() {
    var html = $(this).html();
    var changed = html.replace(/(Tel\:|Fax\:)/g, '<strong>$1</strong>');
    if (changed!=html) $(this).html(changed);
});

演示(点击“用JS运行”

于 2013-04-04T07:29:47.017 回答