メニューには次のような構造があります。
<ul id="accordion">
<li><a href="#">Books</a>
<ul>
<li><a href="thrillers.html">Thrillers</a></li>
<li><a href="scifi.html">Sci-fi</a></li>
<li><a href="nf.html">Non-fiction</a></li>
</ul>
</li>
<li><a href="#">Games</a>
<ul>
<li><a href="rpg.html">RPG</a></li>
<li><a href="sim.html">Simulations</a></li>
<li><a href="action.html">Action</a></li>
</ul>
</li>
</ul>
(等。)
さて、私たちは「RPG」をクリックして、RPG ページでゲームのサブメニューを開きたいと思います。そこで、選択した LI にクラスを追加することにしました。
...
<ul>
<li class="active"><a href="rpg.html">RPG</a></li>
<li><a href="sim.html">Simulations</a></li>
<li><a href="action.html">Action</a></li>
</ul>
...
今、私がやろうとしているのは、jQuery に class="active" で UL を見つけさせ、その UL を開くことです。
私はこのjQueryだけです:
<script>
$(document).ready(function () {
//hide all submenu's onLoad
$('#accordion li').children('ul').slideUp('fast');
$('#accordion a.item').click(function () {
/* FIRST SECTION */
//slideup or hide all the Submenu
$('#accordion li').children('ul').slideUp('fast');
//remove all the "Over" class, so that the arrow reset to default
$('#accordion a.item').each(function () {
if ($(this).attr('rel')!='') {
$(this).removeClass($(this).attr('rel') + 'Over');
}
});
/* SECOND SECTION */
//show the selected submenu
$(this).siblings('ul').slideDown('fast');
//add "Over" class, so that the arrow pointing down
$(this).addClass($(this).attr('rel') + 'Over');
return false;
});
});
</script>
開きたいものだけを onLoad 部分の後に持つには何が必要ですか?