Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择时如何使用JQuery突出显示“导航链接”?_Jquery_Bootstrap 4 - Fatal编程技术网

选择时如何使用JQuery突出显示“导航链接”?

选择时如何使用JQuery突出显示“导航链接”?,jquery,bootstrap-4,Jquery,Bootstrap 4,我想在我的引导项目中实现JQuery,这样当我在网站上选择一个页面时,它会在该页面上突出显示。我想我现在需要社区的一些反馈。以下是我试图实现的JQuery,以及我的导航代码: $(function () { $('.nav-link a').click(function () { $('.nav-link a').removeClass('active'); $(this).addClass('active'); }); }); <nav

我想在我的引导项目中实现JQuery,这样当我在网站上选择一个页面时,它会在该页面上突出显示。我想我现在需要社区的一些反馈。以下是我试图实现的JQuery,以及我的导航代码:

$(function () {
    $('.nav-link a').click(function () {
        $('.nav-link a').removeClass('active');
        $(this).addClass('active');
    });
});


<nav class="navbar navbar-expand-md navbar-dark fixed-top">
    <div class="container">
      <a class="navbar-brand" href="index.html">Homeschool Herpetology</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
      </button>
      <div class="navbar-collapse collapse" id="navbarResponsive">
        <ul class="navbar-nav ml-auto">
          <li class="nav-item active">
            <a class="nav-link" href="index.html">Home</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="about.html">About</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link" href="reptiles.html">Our Reptiles</a>
            <div class="dropdown-menu" aria-labeledby="navbarDropdown">
              <a class="dropdown-item" href="#">Little Foot</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="reptiles.html#mangoMedia">Mango</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="reptiles.html#montyMedia">Monty</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="reptiles.html#sheikMedia">Sheik</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="reptiles.html#zeldaMedia">Zelda</a>
            </div>  
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">Booking</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="contact.html">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

你是这么想的吗

$(function(){
        $('a').each(function(){
            if ($(this).prop('href') == window.location.href) {
                $(this).addClass('active'); $(this).parents('li').addClass('active');
            } else 
            { 
              $(this).removeClass('active'); 
              $(this).parents('li').removeClass('active');
            }
        });
    });

然后,您只需在CSS中为活动类设置样式,以使突出显示的链接具有任何样式:

是的,就是这样!但当我点击导航栏上的其他页面时,我似乎无法使“主页”导航链接取消高亮显示。我是否需要JQuery脚本中的removeClass.active部分?只需添加一个else即可删除活动类。我会帮你修改密码的如果这完全回答了您的问题,请将其标记为已回答,以便人们在以后搜索时能够找到它当然,我现在还要再做一次。应该这样做。非常感谢。代码肯定会有帮助。不过,我可能会发布一个新问题,并从这里将我链接到它: