JS:获取一个值,然后返回一个数字

时间:2016-07-25 10:01:21

标签: javascript jquery

如下所示,我设法编写了一个js公式,允许我检索在我的网站上选择的语言访客。

最后,我想更进一步:一旦检索到所选语言,我希望公式为每种语言返回一个数字。 例如,如果所选语言为“en”,我希望脚本返回“1”。

你能帮我改进这个剧本吗?

tC.internalvars.metalanguage = "";
var metas = document.getElementsByTagName('meta'); 
for (var i=0; i<metas.length; i++) { 
   if (typeof metas[i].getAttribute("http-equiv") != "undefined" && metas[i].getAttribute("http-equiv") == "Content-Language" && typeof metas[i].getAttribute("content") != "undefined" &&  metas[i].getAttribute("content") !== "") { 
     tC.internalvars.metalanguage = metas[i].getAttribute("content");
   } 
} 

1 个答案:

答案 0 :(得分:0)

当你找到你的语言时,你只需要像这样停止循环:

for (var i=0; i<metas.length; i++) { 
   if (typeof metas[i].getAttribute("http-equiv") != "undefined" && metas[i].getAttribute("http-equiv") == "Content-Language" && typeof metas[i].getAttribute("content") != "undefined" &&  metas[i].getAttribute("content") !== "") { 
     tC.internalvars.metalanguage = metas[i].getAttribute("content");
     // now you find the language and break here
     break;
   } 
}

通过这种方式,您可以跳过其他元素,因为您不再需要这些元素了。

关于映射,一种快速方法是在主范围内定义一个普通对象,就像一个哈希映射:

var languages = {
    "en": 1,
    "it": 2,
    // ... so on
}

所以你可以用以下语言获得语言代码:

var langCode = languages[tC.internalvars.metalanguage];

或者您可以从函数内部返回值:

return languages[tC.internalvars.metalanguage];