3
4

4 回答 4

4

你可以做 :

$('p').html(function(_, old){
     return old.replace(/(\$\d+) /, '<strong>$1</strong> ');
})

小提琴:http: //jsfiddle.net/gEfzs/

于 2013-07-26T19:04:23.317 回答
2

您可以通过字符串操作来完成这一切。演示 其他人可能可以使用 Regex 更有效地执行此操作,但嘿,这很好用。

var priceStr = "<p>$10 remaining of $100 budget</p>";
// remove <p>
priceStr     = priceStr.substr("<p>".length, priceStr.length);
// convert to array and get `$10` as first element
var priceStrArr  = priceStr.split(' ');
// replace first element in array `$10` with wrapping string
priceStr = priceStr.replace(priceStrArr[0], '<p><strong>'+priceStrArr[0]+'</strong>');
// output
$('#thingy').html(priceStr);
于 2013-07-26T19:07:04.133 回答
0

尝试这个:

HTML

<p>$10 remaining of $100 budget</p>

JS

var html = $('p').html();
var index = html.indexOf('$');
var parts, part1, part2;
if (index != -1) {
    part1 = html.substring(0, index);
    part2 = html.substring(index);
    parts = part2.split(' ');
    parts[0] = '<strong>' + parts[0] + '</strong>';
    html = part1 + parts.join(' ');
    $('p').html(html);
}

jsFiddle

于 2013-07-26T19:26:21.960 回答
0

您可以使用\$[0-9]{2}\b带有javascript替换功能的正则表达式

于 2013-07-26T19:06:59.347 回答