ここで、この他の質問から多くの助けを得ました: Transform ALL CAPS to Proper Case using CSS and jQuery
しかし、タイトルにmdashが発生した場合、その直後の文字も大文字になるようにスクリプトを変更しようとしていますhttp://jsfiddle.net/wm5kZ/5/を参照してください。そして、ここにスクリプトがあります:
$('ul.proper-case li a').each(function(){
var ele = $(this);
ele.text(toProperCase(ele.text()));
});
function toProperCase(str)
{
var noCaps = ['of','a','the','and','an','am','or','nor','but','is','if','then',
'else','when','at','from','by','on','off','for','in','out','to','into','with'];
return str.replace(/\w\S*/g, function(txt, offset){
if(offset != 0 && noCaps.indexOf(txt.toLowerCase()) != -1){
return txt.toLowerCase();
}
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}
私は正規表現を理解しようとしており、mdash にさまざまなものを入れようとしましたが、その方法がよくわかりません。これまで試したことはありません。
これを行うためにスクリプトを変更する場所を教えてくれる人はいますか? また、理解できるように、それが何をしているのかを説明していただけますか? 本当にありがとう。