當我必須根據頁面語言使用javascript管理一些小文本時,我有這種奇怪的情況。試想你需要根據html lang屬性來替換模板的某些部分。於是我創建了多維數據對象,並決定圍繞它進行下列操作。一切工作正常,但我覺得這是不是最好的做法,也許我會避免使用開關:具有不同語言選項的數據對象。 Javascript實現
jsbin版本:http://jsbin.com/EvEciVa/2/
$(function(){
var lang = $('html').attr('lang'),
text;
var obj = {
'en' : {
'title' : 'Title english',
'url' : 'en.html'
},
'fr' : {
'title' : 'Title french',
'url' : 'fr.html',
}
};
switch(lang){
case'fr':
text = [obj.fr.title,obj.fr.url];
break;
default:
text = [obj.en.title,obj.en.url];
}
$('body').prepend('<a href="'+text[1]+'">'+text[0]+'</a>');
});
的問題是:至於我有lang屬性值(語言),也許我可以避免使用開關和重複的情況下,而是我可以實現lang值作爲變量來訪問數據對象,像這樣[obj.lang.title,obj.lang.url];
當然,它不會在我的情況下工作。
我將不勝感激。謝謝。
非常感謝你 – devjs11