【问题标题】:Get a parent class jquery获取父类jquery
【发布时间】:2020-04-23 13:35:12
【问题描述】:

我想让li 的祖先有active 类以他的儿子(按钮)类为目标,并通过area-expanded= true 在其中崩溃。 这是html:

<li class="nav-item">
 <button class="nav-link" type="button" data-toggle="collapse" data-target="#nav-collapse-2" aria-controls="nav-collapse-2" aria-expanded="true">Typographies</button>

 <div class="nav-collapse collapse show" id="nav-collapse-2" style="">
  <div class="nav-collapse-inner">
   <ul class="nav-submenu">
      <li class="nav-submenu-item">
          <a class="nav-submenu-link active" href="sg-typo-familles.html">Les familles</a>
      </li>
      <li class="nav-submenu-item">
         <a class="nav-submenu-link" href="sg-typo-hierarchisation.html">Hiérarchisation</a>
     </li>
   </ul>
  </div>
 </div>
</li>

这是一些js:

var get_url = function (){
    $(".navbar-nav--left .nav-link, .nav-submenu .nav-submenu-link").each(function(){
        var $this = $(this);
        if($this.attr('href') == window.location.href.substr(window.location.href.lastIndexOf('/') + 1)){
            // var regex = /\/\/.*\/(.*)\//g;
            // var match = regex.exec(window.location.href);
            // console.log("eeeeeee : ",match )
            $this.addClass('active');
            // var collapsed = $(".nav-item *");

            collapsed = $(this).closest(".nav-item")[0];

        }
    });
};

我被这段代码卡住了:(

【问题讨论】:

  • 你在使用引导程序吗?如果您使用的是引导程序,则切换折叠事件的正确方法应类似于 this
  • 有点令人困惑,因为您似乎提供了一些设置活动类的代码,但不是您要求的代码:$(".active").closest(".nav-item").find("button.nav-link")

标签: javascript jquery collections closest


【解决方案1】:

我不太理解你的问题,但是为了获得一个类 .active 的元素的 parentElement,方法如下:

let myElement = document.getElementByClassName("active")[0];
let brotherButton = myElement.parentNode.querySelectorAll("a")[0];

上面我们有 myElement,它有 .active 类,然后通过他的父母我们选择了他的兄弟锚标签。 希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2017-12-27
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多