【发布时间】:2012-05-05 10:48:25
【问题描述】:
我有一个简单的菜单,如下所示:
<ul id="navigation">
<li id="m_li">
<div><span>+</span><a href="#" >myself</a></div>
<ul class="test" id="x_ul">
<li id="li">
<a href="#" >Pictures</a>
</li>
<li id="li">
<a href="#" >Audio</a>
</li>
</ul>
</li>
<li id="profile_modeling_li">
<div><span>+</span><a href="#" >friend</a></div>
<ul class="test" id="y_ul">
<li id="li">
<a href="#" >Pictures</a>
</li>
<li id="li">
<a href="#" >Video</a>
</li>
</ul>
</li>
</ul>
然后我使用 jquery,所以当我点击 + 签名时,ul 会向下滑动:
$("#navigation > li > div > span").click(function(){
if(false == $(this).next('ul').is(':visible')) {
$('#accordion ul').slideUp(300);
}
$(this).next('ul').slideToggle(300);
});
问题是$(this).next('ul') 似乎不喜欢下一个 ul
任何想法我做错了什么?
【问题讨论】:
-
你可以使用
$(this).find('ul') -
不,你不能。
find会查看元素的后代,而在这种情况下,ul是元素父元素的兄弟。
标签: jquery menu slidetoggle next