我正在尝试根据是否设置了特定的Cookie来显示特定属性的页面...我正在尝试这个
var x = readCookie('age');
window.onload=function(){
if (x='null') {
document.getElementById('wtf').innerHTML = "";
};
if (x='over13') {
document.getElementById('wtf').innerHTML = "";
};
if (x='not13') {
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
};
}
它总是默认为第一个if语句中的任何内容...我仍然在学习我的javaScript,所以我确信这很邋..有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
在Javascript中,=
是赋值运算符(它将左侧的变量设置为右侧的值)。你想要==
,它是松散的相等运算符(尽管你也可以使用===
,这是你给出的实际例子的 strict 相等运算符。
对于这种特定情况,您可能还会考虑使用switch
代替:
var x = readCookie('age');
window.onload = function(){
switch (x)
{
case null: // Or 'null' if you really meant the string 'null', but I suspect you meant null (not as a string)
document.getElementById('wtf').innerHTML = "";
break;
case 'over13':
document.getElementById('wtf').innerHTML = "";
break;
case 'not13':
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
break;
}
}
(您也可能想要处理价值不是您期望的三件事情中的情况。)
答案 1 :(得分:0)
var x = readCookie('age');
window.onload=function(){
if (x==='null') {
document.getElementById('wtf').innerHTML = "";
};
if (x==='over13') {
document.getElementById('wtf').innerHTML = "";
};
if (x==='not13') {
document.getElementById('emailBox').innerHTML = "<style type=\"text/css\">.formError {display:none}</style><p>Good Bye</p><p>You must be 13 years of age to sign up.</p>";
};
}
答案 2 :(得分:-1)
这应该是
if (x=='null') {