>開閉で開いたときに
とありますが、きっとページを読み込んでアコーディオンが開いているときも
classが付いてほしいと思うので、そうなるように書きました。
変更箇所は初期設定とミソの部分です。
あと元サンプルの初期設定がおかしかったのでthisを使って効率改善したつもりです。
//初期設定 $("dd").each(function (i){ if ($.cookie("cookName")) { if (($.cookie("cookName").indexOf(i)) != -1) {//※2 // ****ミソ**** $(this).show().prev('dt').addClass('open'); } else { $(this).hide(); } }else{ $(this).hide();//cookieが無い場合は全て隠す } }); //クリック時のfunction設定 $("dt").click(function(){ // ****ミソ**** $(this).toggleClass('open'); //~~~~~~~~~~~~~~~~~~
ソースコード
https://gist.github.com/674604
動作サンプル
ありがとうございます!出来ました。
「開いているときもclass追加」はまさにそのとおりでした。
参考にもう一つだけお聞きしたいのですが
[dl]
[dt]title[/dt]
[dd]menu-contents[/dd]
[/dl]
としたときにdlにclassを追加するのはどうすればよいのでしょうか…