繁体   English   中英

jQuery将目标中来自li的下一个UL元素作为目标

[英]jQuery target next `ul` element from `li` with class `active`

无法弄清楚我在做什么错,因为我没有错误。 本质上,我想针对的是包含一类active唯一li中的下一个ul元素。

我的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');

谢谢

在jQuery中, next()prev()在DOM中找到同级或同级元素。 在这种情况下,由于ul.active的子元素, .active实际上您需要像这样使用find()方法: $('li.active').find('ul').first().show();

first()find()结合使用可确保它仅返回单个ul元素,而不返回可能嵌套更深的任何其他元素。

完成如下:

$('.active ul:first').slideDown('normal');

我仍然不明白为什么这没有用

$('li.active').next('ul').show();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM