var path = location.pathname;
switch(path){
case (/\/memberlist/).test(path) :getCSS('url-22.css'); break;
case (/\/register/).test(path): getCSS('url-6.css'); break;
case (/buy-credits/g).test(path): getCSS('url-7.css'); break;
case (/\/?u(\d+)friends$/).test(path): getCSS('url-8.css'); break;
case (/\/privmsg/).test(path): getCSS('url-9.css'); break;
case (/\/?u(\d+)wall$/).test(path): getCSS('url-4.css'); break;
}
function getCSS(url,media){
var a = document.createElement('link');
a.href=url;
a.media= media || 'screen';
a.rel="stylesheet";
return (document.getElementsByTagName('head')[0].appendChild(a));
}
這是我的代碼,由於某種原因,它沒有運行應該運行的函數。出於測試目的,我們可以更改var path="/memberlist"
,它仍然不會運行。有人可以向我解釋爲什麼這不會運行。不要真的使用開關語句Switch Case正則表達式測試
開關你總是與路徑比較。所以讓你輸入的字符串和路徑一樣。 使用像你嘗試子字符串在這裏看到:http://stackoverflow.com/questions/2896626/switch-statement-for-string-matching-in-javascript – chillworld