我得到了很多的幫助,從這個的其他問題在這裏:Transform ALL CAPS to Proper Case using CSS and jQuery修改的JavaScript所以MDASH之後字母是大寫字母
但我一直在努力,所以如果在標題出現,一個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但我不太清楚如何做到這一點。我到目前爲止沒有嘗試過任何工作。
任何人都可以幫助我知道在哪裏修改腳本來做到這一點?你能不能解釋一下它在做什麼,我可以試着理解它?非常感謝。
JSYK,你可以重寫外部分作爲'$( 'ul.proper情況李一')。文本(toProperCase)'如果你改變'toProperCase'的簽名需要2個參數。 http://api.jquery.com/text/#text2 – 2013-03-11 22:23:02
*「我迄今爲止所嘗試的都沒有。」* - 向我們展示您嘗試過的內容。 – Madbreaks 2013-03-11 22:25:46
你應該投入一些時間和精力來學習正則表達式。不要把它當成侮辱。 – kapa 2013-03-11 22:33:39