<ul id="menu2">
<li><a href="/term/6">close/show</a>
<ul class="haschild">
<li><a href="/term/14">test 1 2</a></li>
<li><a href="/term/13">tst 13</a></li>
</ul>
</li>
<li><a href="/term/7">helli</a></li>
</ul>
jquery代码:
$("ul.haschild").hide();
$("ul.haschild").prev().click(function(){
$(this).children('.haschild').slideToggle('slow');
return false;
});
点击关闭/显示时, haschild 部分在show或hide中不会发生变化。
然后我将$("ul.haschild").prev()
更改为$("ul.haschild").siblings()
它仍然无法正常工作。
谢谢
答案 0 :(得分:2)
那是因为点击的元素没有.haschild
后代元素,您可以使用next
方法:
$(this).next('.haschild').slideToggle('slow');
请注意,您应该将代码放在文档就绪处理程序中。