我现在正在学习javascript,所以这可能是一个非常新的问题!我用谷歌搜索了,但没有找到我想要的东西,也许我只是没有用Google搜索正确的东西,但是是啊...我没有使用任何插件来制作饼干。
我有一个名为“country”的cookie,该值是用户的国家代码,如美国,加拿大,英国,澳大利亚或FR ... 我想只在国家/地区显示内容块,比如DE,ES,AT,IT或NL。
我正在寻找的逻辑:如果cookie“country”存在且country = =我的数组中的一个国家...
我正在考虑类似......但这显然太简单而且不起作用:)。
var countryArray = new Array["DE", "ES", "AT", "IT", "NL"];
if( $.cookie('country') && $.cookie('country') == countryArray ) { alert("working"); }
答案 0 :(得分:1)
您可以将indexOf用于新浏览器:
countryArray.indexOf($.cookie('country')) > -1
此外,而不是
countryArray = new Array["DE", "ES", "AT", "IT", "NL"];
你需要写:
countryArray = ["DE", "ES", "AT", "IT", "NL"];
更新:对于旧浏览器,请在js
中添加此脚本:
Array.prototype.indexOf = Array.prototype.indexOf || function( value, startIndex ){
var i = startIndex || 0;
for(; i < this.length; ++i){
if( value === this[i] ){
return i;
}
}
return -1;
}
答案 1 :(得分:1)
改为使用关联数组。
var countryArray = [];
countryArray["DE"]=true;
countryArray["ES"]=true;
etc.
if( $.cookie('country') && countryArray[$.cookie('country')] )
{ alert("working"); }
适用于所有浏览器..