私はお勧めします:
$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+
: 1 つまたは複数の非空白文字のシーケンス。
(\b|(?:\s+))
: 別の単語境界、または1 つ以上の空白文字のシーケンス。
$1
元の式の番号付き一致 (the ) は明らかに非推奨であるか、まもなく廃止されるため、もう一度更新します (ただし、その特定の記憶をバックアップするための参照が見つからないため、少し塩を加えてください)。代わりに関数を使用するには:
var $div = $('#demo');
$div.html($div.text().replace(/\b(\S+?)(\b|(?:\s+))$/, function(a){
return '<span class="cOrange">' + a + '</span>';
}));
JS フィドルのデモ。
参考文献: