Jquery 只针对点击类的父类而不是其他类?

标签 jquery html css

我希望我的菜单元素在单击子按钮时显示子菜单。但我在其他菜单元素上也有相同的 html 和类。因此,当我按下一个按钮时,它会打开所有子菜单并关闭打开的子菜单。

我想让它工作,这样当我点击一个按钮时,只有他的 parent 子菜单在点击时打开和关闭。

<ul>
  <li class="menu-item current-menu-item">
    <a href="">Menu1</a>
    <button>click</button>
       <ul class="submenu">
        <li>asdasd</li>
      </ul>
  </li>
  <li class="menu-item">
    <a href="">Menu2</a>
    <button>click</button>
       <ul class="submenu">
        <li>asdasd</li>
      </ul>
  </li>
    <li class="menu-item">
    <a href="">Menu3</a>
    <button>click</button>
      <ul class="submenu">
        <li>asdasd</li>
      </ul>
  </li>
</ul>

.submenu {
  display: none;
}
.current-menu-item .submenu {
  display: block;
}

$(".menu-item button").click(function(){
  $(".menu-item button").parent('.menu-item').toggleClass("current-menu-item");
});

http://codepen.io/rKaiser/pen/QKgQVQ

谢谢。

最佳答案

$(".menu-item button").click(function(){
  $(this).parent('.menu-item').toggleClass("current-menu-item");
});

否则 jQuery 选择器会找到所有带有 .menu-item 按钮类的元素

关于Jquery 只针对点击类的父类而不是其他类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39749031/

相关文章:

javascript - 弹出图片html

javascript - 如何在 blueimp jQuery 文件上传上使用自己的文件处理程序?

html - CSS 选择器片段支持

javascript - 在 View 中淡入元素并在 View 外淡出

html - 每次单击按钮时图像都会褪色并且新图像开始显示在第一张图像之上?

CSS:标签和链接,两者都应该有效

html - 将div的高度动态设置为页面剩余空间

html - css 类不起作用,在 css 文件中,但在样式标签中是

javascript - 下拉菜单位于页面中间,应根据位置打开列表

javascript - 如何从单个文本框中获取多个值并将其存储在数组中并将其存储在数据库中