0
function changesex(){
    var cookie=document.cookie;
    var sex;
    //alert(cookie);
    cooarr=cookie.split(";");
    for (var i=0;i<cooarr.length;i++){
        coo=cooarr[i].split("=");
        if (coo[0]=="sex"){
            sex=coo[1];
            break;
        }
    }
    if (sex=="male") sex="famale";
    else sex="male";
    var date=new Date();
    date.setTime(date.getTime()+3600*24*30);
    document.cookie="sex="+sex+";expires="+date.toGMTString();
    return sex;
}

这个 javascript 函数用于更改 cookie 内容,但我发现这个表达式 if (coo[0]=="sex"){ 只有当 i==0 并且 coo[0] 等于以下字符串时才能为真. 所以问题是即使 coo[0] 等于“xxx”字符串,if 表达式也不能为真。我花了几个小时在这上面,我很困惑。

4

2 回答 2

0

下半场你是不是少了一套花括号?之后: if(sex=="male") ?

于 2012-08-03T03:47:21.870 回答
0

当我们得到document.cookie并用“;”分割时我得到了答案,它们恰好是cookie名称字符串前面的一个空格,例如“sex”将变为“sex”,我不知道确切原因但我现在不能处理饼干。

于 2012-08-03T16:26:52.920 回答