javascriptでCookieを設定したけど消せなかった

タイトルの通り、javascriptでCookieを消せなくてハマったので備忘録。

まずはこんなような感じでクッキーを保存しました。

//Cookieをセットする関数
function setCookie(name,content,date){
      document.cookie = name+'='+content+'; expires=' + date.toUTCString() + '; path=/demo;';
}

var cookieDate = new Date;
cookieDate.setHours(cookieDate.getHours() + 1);//1時間
setCookie('demoCookie','クッキー焼いたよ',cookieDate);

ググったら設定をしたCookieを消すには下記のような感じにすればいいらしい。でも消えなかった。

document.cookie = "demoCookie=; expires=0";//消えない!

Cookieを消すには設定した属性を全て書かなければ消えないっぽい

//お目当てのCookieを取ってくる関数
function getCookie(name){
  var cookieArr = document.cookie.split(';');
    for (var i = 0; i < cookieArr.length; i++) {
        var cookiePair = cookieArr[i].split('=');
        if (name === cookiePair[0].trim()) {
            return decodeURIComponent(cookiePair[1]);
        }
    }
   return null;
}

//Cookieを消す
function clearCookie(name){
   var dt = new Date('1999-12-31T23:59:59Z');//過去の日付を入れる
   document.cookie = name+'='+getCookie(name)+'; max-age=0; expires='+ dt.toUTCString()+'; path=/demo;';
 };

clearCookie('demoCookie');