无法判断我做错了什么,因为我没有错误。基本上我想要定位包含ul
类的li
元素中的下一个active
元素。
我的HTML是:
<li id="abc"></li>
<li id="account" class="active">
<a href="#"><img class="menu-logo-symbol" src=" /img/app/logo-symbol.png">Your Account</a>
<ul class="nav-pills nav-stacked sub-nav nav-list" style="display: none;">
<li id="account-details"></li>
......
</ul>
</li>
我尝试了以下内容:
var checkElement = $('li.active').next('ul');
checkElement.slideDown('normal');
和
$('li.active').next('ul').show();
以及
$('li.active').next('ul').slideDown('normal');
由于
答案 0 :(得分:1)
在jQuery中,next()
和prev()
在DOM中找到兄弟姐妹或同一深度的元素。在这种情况下,由于ul
是.active
的子元素,因此您实际上需要使用find()
方法,如下所示:$('li.active').find('ul').first().show();
将first()
与find()
结合使用可确保它只返回单个ul
元素,而不会返回任何可能嵌套得更深的其他元素。
答案 1 :(得分:0)
完成如下:
$('.active ul:first').slideDown('normal');
我仍然不明白为什么这不起作用
$('li.active').next('ul').show();