我建议:
$div = $('.cPageHeader h2');
$div.html($div.text().replace(/(\S+?)$/, '<span class="cOrange">$1</span>'));
JS 小提琴演示。
这基本上会在字符串末尾查找所有非空白字符,尽管如果您的字符串以空白结尾,则不会有突出显示(因此可能值得先修剪字符串,以确保。
以下复制了上述内容,但对尾随空格更宽容:
var $div = $('#demo');
$div.html($div.text().replace(/\b(\S+?)(\b|(?:\s+))$/, '<span class="cOrange">$1</span>'));
JS 小提琴演示。
这匹配:
\b
: 词界;
\S+
: 一个或多个非空白字符的序列;
(\b|(?:\s+))
:另一个字边界或一个或多个空白字符的序列。
再次更新,因为$1
原始表达式中的编号匹配项(the )显然已被弃用,或者很快就会被弃用(尽管我找不到支持该特定回忆的参考,所以也许可以加点盐),并且改为使用函数:
var $div = $('#demo');
$div.html($div.text().replace(/\b(\S+?)(\b|(?:\s+))$/, function(a){
return '<span class="cOrange">' + a + '</span>';
}));
JS 小提琴演示。
参考: