人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jqueryのアコーディオンUIで下記のサンプルを参考に、開閉で開いたときに親要素(dt)にclassを付加する方法を詳細に教えてください
http://blog.caraldo.net/2009/03/newjqqookiemenu.php


●質問者: technote7
●カテゴリ:ウェブ制作
✍キーワード:Class DT jQuery UI アコーディオン
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Cherenkov
●100ポイント ベストアンサー

>開閉で開いたときに

とありますが、きっとページを読み込んでアコーディオンが開いているときも

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

動作サンプル

http://jsfiddle.net/U6DrK/

◎質問者からの返答

ありがとうございます!出来ました。

「開いているときもclass追加」はまさにそのとおりでした。

参考にもう一つだけお聞きしたいのですが

[dl]

[dt]title[/dt]

[dd]menu-contents[/dd]

[/dl]

としたときにdlにclassを追加するのはどうすればよいのでしょうか…

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ