问问题
315 次
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);
}
于 2013-07-26T19:26:21.960 回答
0
您可以使用\$[0-9]{2}\b
带有javascript替换功能的正则表达式
于 2013-07-26T19:06:59.347 回答