js无法匹配cookie名称

时间:2012-08-03 03:07:28

标签: javascript cookies

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表达式也不能为真。 我在这上花了几个小时,我很困惑。

2 个答案:

答案 0 :(得分:0)

你是否在下半场错过了一组花括号?之后:如果(性别==“男性”)?

答案 1 :(得分:0)

当我们获得document.cookie并通过&#34 ;;&#34;时,我得到了答案,它们恰好是cookie名称字符串前面的空格,例如&#34; sex&#34;将成为&#34;性别&#34;,我不知道确切的原因,但我现在无法处理cookie。