javascript - jQuery 切换子类

标签 javascript jquery html css

我正在使用这个奇特的 jQuery 函数来切换一些类:

$( "#main-nav .menu-wrapper .menu li.has-sub a" ).click(function() {
  $(this).find("ul.sub").toggleClass( "visible" );
});

这不起作用,因为我的 HTML 结构有点不同:

<div id="main-nav>
    <nav class="menu-wrapper">
        <ul class="menu">
            <li class="has-sub"><a href="#">Lorem Ipsum</a>
                <ul class="sub"><li><a href="#">Dolor Sit</a></li></ul>
            <li>
        </ul>
    </nav>
</div>

如您所知,ul.sub 不是 .menu li.has-sub a 的子项,而是 .menu li 的子项。 has-sub(没有)。有没有办法选择 THIS li 的 child ?

最佳答案

只需使用.next()

$("#main-nav .menu-wrapper .menu li.has-sub a").click(function() {
  $(this).next("ul.sub").toggleClass("visible");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main-nav">
  <nav class="menu-wrapper">
    <ul class="menu">
      <li class="has-sub"><a href="#">Lorem Ipsum</a>
        <ul class="sub">
          <li><a href="#">Dolor Sit</a>
          </li>
        </ul>
    </ul>
  </nav>
</div>

关于javascript - jQuery 切换子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39449115/

相关文章:

javascript - javascript中的内置方法在哪里?

javascript - 有没有更好的方法来做这个ajax调用

javascript - 如何使用jquery获取div内链接的href?

javascript - 单击图像按钮 jquery 生成 tr

javascript - 使用 angularjs 每次点击更改 css 属性

JQuery - 如果使用 JQuery 检查复选框更改事件不会触发

javascript - .click 在 jquery 上无法正常工作

javascript - 从 php 重定向后无法运行 <Script>

javascript - React.js - 从 JSON 模式创建输入元素

javascript - 添加和删​​除单击/悬停事件处理程序 jQuery