1

I am a beginner of bootstrap and jquery. I can't use jquery to change .active of navbar.

In the head section, I have imported bootstrap and jquery.

<link href="./dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="./dist/js/bootstrap.min.js"></script>

Here is my code

<div class="navbar-wrapper">
  <div class="container">

    <nav class="navbar navbar-default navbar-static-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li ><a href="#">Home</a></li>
            <li class="active"><a href="http://ezcourse.nctu.me/">Tutorial</a></li>
            <li><a href="#contact">Contact</a></li>
          </ul>
        </div>
      </div>
    </nav>

  </div>
</div>

This is my js code.

$(function () {
    $(".nav a").on("click", function(){
        $(".nav").find(".active").removeClass("active");
        $(this).parent().addClass("active");
    });
});

When I clicked different <a> tag, the .active state was not changed.

I googled and I find this example Bootstrap navbar Active State not working

However, I try to copy these code and paste in my code. jsfiddle example It still did not work.

However, it can work on their webpage.

I don't know how to solve this problem...

Community
  • 1
  • 1
Kevin Hsiao
  • 2,281
  • 2
  • 10
  • 18

1 Answers1

0

Dear your header files are not properly linked here.

Please check them once

try this..

$(function () {
    $(".nav a").on("click", function(){
        $(".nav").find(".active").removeClass("active");
        $(this).addClass("active");
    });
});
<link href="./dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="./dist/js/bootstrap.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>



<div class="navbar-wrapper">
  <div class="container">

    <nav class="navbar navbar-default navbar-static-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li ><a href="#">Home</a></li>
            <li class="active"><a href="http://ezcourse.nctu.me/">Tutorial</a></li>
            <li><a href="#contact">Contact</a></li>
          </ul>
        </div>
      </div>
    </nav>

  </div>
</div>
Doberon
  • 611
  • 9
  • 19
Shivkumar kondi
  • 6,458
  • 9
  • 31
  • 58
  • Thank you for your reminder. I find this problem is my stupid mistake. I forgot to import the clickFunction.js file.... – Kevin Hsiao Dec 03 '16 at 10:31