0

我做了一个简单的 if 和 else 结构。但它不起作用。我得到了错误。EN 未定义。

我该如何解决?

谢谢,

var theLanguage = $('html').attr('lang');
// Diferent language
if ($(theLanguage) == "en") {

} else {

}
4

4 回答 4

1

您正在将存储的值传递theLanguage给 jQuery 函数。为什么?这将返回一个 jQuery 对象,因此它永远不会== "en".

如果你想看看是否"en"是值,你会做一个直接的比较。

if (theLanguage == "en") {

如果您收到ReferenceError: en is not defined,那么您en缺少引号"en"

于 2012-09-22T14:25:56.107 回答
1
var theLanguage = $('html').attr("lang");

theLanguage 变量是一个字符串文字值。

$(theLanguage) 不是一个 jquery 对象,这就是它抛出错误的原因。

你可以检查为

if(theLanguage == ""en){
}

就这样。

于 2012-09-22T14:26:14.233 回答
0

theLanguagelang是您可能想要比较的属性的字符串值,"en"所以您不这样做$(theLanguage),您只需theLanguage像这样直接比较:

var theLanguage = $('html').attr('lang');
// Diferent language
if (theLanguage == "en") {

} else {

}
于 2012-09-22T14:25:35.167 回答
0

.attr()函数已经返回一个字符串。不要将其包装在另一个中$(),而是直接将其值:

var theLanguage = $('html').attr('lang');
// Diferent language
if (theLanguage == "en") {

} else {

}
于 2012-09-22T14:25:45.890 回答