简体   繁体   中英

How can I change bootstrap 3 dropdown background color after click?

前 后

The problem is when i click the dropdown the text go black so i need to change it to white. when i remove the #tab color i will change to #9e9e9d.

#tab{ color: black }

#tab:hover {
  color: white;
}

      <div class="collapse navbar-collapse" id="myNavbar">
    <ul class="nav navbar-nav">
      <li><a href="index.html" id="tab">HOME</a></li>
      <li><a href="Beverages.html" id="tab">MENU</a></li>
      <li class="dropdown">
        <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="tab">PROMOTION <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a href="#">Gift Cards</a></li>
          <li><a href="#">Christmas Bundle</a></li>
        </ul>
      </li>
      <li><a href="About.html" id="tab">ABOUT</a></li>
      <li><a href="Faq.html" id="tab">FAQ</a></li>
    </ul>
  </div>

I gave a solution on jquery , since you mentioned bootstrap . The solution uses method toggleClass() .

Was it necessary?

 $('.dropdown').on('click', function() { $(this).toggleClass('a_color_active'); $('.dropdown-menu').toggleClass('ul_color_active'); });
 .dropdown { background-color: pink; }.dropdown-menu { display: none; }.dropdown a, .dropdown-menu a { color: unset; }.dropdown.a_color_active { background-color: black; color: white; }.dropdown-menu.ul_color_active { display: block; background-color: black; color: white; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="tab">PROMOTION <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Gift Cards</a></li> <li><a href="#">Christmas Bundle</a></li> </ul> </li>

second:

 $('.dropdown').on('click', function() { $(this).toggleClass('a_color_active'); $('.dropdown-menu').toggleClass('ul_color_active'); });
 .nav.navbar-nav a { color: black; }.nav.navbar-nav a:hover { color: white; }.dropdown-menu { display: none; }.nav.navbar-nav a, .dropdown-menu a { color: unset; }.dropdown.a_color_active { background-color: black; color: white; }.dropdown-menu.ul_color_active { display: block; background-color: black; color: white; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="collapse navbar-collapse" id="myNavbar"> <ul class="nav navbar-nav"> <li><a href="index.html" id="tab">HOME</a></li> <li><a href="Beverages.html" id="tab">MENU</a></li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="tab">PROMOTION <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Gift Cards</a></li> <li><a href="#">Christmas Bundle</a></li> </ul> </li> <li><a href="About.html" id="tab">ABOUT</a></li> <li><a href="Faq.html" id="tab">FAQ</a></li> </ul> </div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM