单击时,按类名称查找下一个元素

时间:2018-10-22 06:52:01

标签: javascript jquery html css

我有一个移动菜单,当用户单击类别为“ open”的跨度时,下一个页脚菜单手风琴将打开。但是,当用户单击锚链接“ level-1” Men时,它也会打开。 我现在想做的是,当用户单击Men时,我想使用jquery查找NEXT页脚菜单手风琴并将其保持为display:none(这是包含2级锚点标记的父div )。我知道我必须使用jquery的next()或find()方法,但是我不确定该怎么做。有人可以帮我吗?

function mobileMainNav() {
  $('a.level-1.direct').click(function(e) {
    window.location = $(this).attr('href');
  });
}

mobileMainNav();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mobile-menu" class=" footer-menu-accordion ">
  <div class="dropdown-container ">
     <a class="level-1 direct">Men</a>
     <span class="open">img</span>
  </div>
  <div class="footer-menu-accordion ">
    <a class="level-2 "></a>
    <ul></ul>
    <a class="level-2 "></a>
    <ul></ul>
    <a class="level-2 "></a>
    <ul></ul>
  </div>
</div>

我这样做是为了当我单击级别1时,我被定向到我网站的“男装”部分。这可以正常工作,但是当我选择级别1时,我不希望打开下一个下拉列表,而当前它会这样做。所以我知道我需要在此函数中添加更多的jquery来做到这一点,但我不确定如何成为jQuery的新手。先感谢您!

1 个答案:

答案 0 :(得分:0)

我不确定您是否要为级别1的锚标记获取最近的页脚...如果是这样,请尝试以下方法:

function mobileMainNav() {
  $('a.level-1').click(function(e) {
    var nearestFooter = $(this).parent().siblings('div.footer-menu-accordion');
    console.log(nearestFooter[0]);
  });
}

mobileMainNav();
<div id="mobile-menu" class="footer-menu-accordion">
  <div class="dropdown-container">
     <a class="level-1">Men</a>
     <span class="open">img</span>
  </div>
  <div class="footer-menu-accordion">
    <a class="level-2"></a>
    <ul></ul>
    <a class="level-2"></a>
    <ul></ul>
    <a class="level-2"></a>
    <ul></ul>
  </div>
  </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

您也没有类(.direct)的元素