定义窗口加载的操作

时间:2010-05-05 16:35:00

标签: javascript

我正在尝试根据是否设置了特定的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,所以我确信这很邋..有人可以帮我解决这个问题吗?

3 个答案:

答案 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')  {