Bootstrap 4导航栏活动类

kir*_*aur 3 navbar twitter-bootstrap

我已经开始将Web编程作为一个项目来学习,并且一直很难让链接在导航栏上显示为活动状态。我确实是从寻找过去问过的类似问题开始的,但是似乎没有一个答案可以解决我的问题。

这是我的代码

<div>
<hr>
    <nav class="container-fluid navbar navbar-expand-sm bg-dark navbar-dark" style="padding-left: 75px; margin-top: -16px;">
        <ul class="navbar-nav">
            <li class="active nav-item">
                <a class="nav-link active" style = "padding-left: 0px; color: white;" href="#">Most Popular</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">News</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">Sports</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">Science</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">Politics</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">Economics</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" style="color: white">Random</a> 
            </li>
            <li class="nav-item">
                <a class="nav-link " style="padding-left: 480px; color: white; " href="#">Log in</a>
            </li>
        </ul>
    </nav>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试使用我发现的这个javascript,但到目前为止尚未奏效

$('.nav li').click(function(){
$('.nav li').removeClass('active');
$(this).addClass('active');
})
Run Code Online (Sandbox Code Playgroud)

希望我的代码不太时髦,因为我才刚刚入门。非常感谢您的任何帮助!

Zim*_*Zim 5

有多个问题...

  1. 选择器$('。nav li')不会执行任何操作,因为.nav 在标记中的任何地方都没有使用任何类。它应该是$('。navbar-nav .nav-link')。
  2. 您拥有style="color:white"的链接将覆盖您对该active课程所做的任何更改。
  3. 您没有针对活动类的CSS,默认情况下,navbar-dark上的Bootstrap活动类将为白色。您想设定什么颜色?
  4. 设置为nav-link而不是li,

.navbar-dark .nav-item > .nav-link.active  {
    color:white;
}

$('.navbar-nav .nav-link').click(function(){
    $('.navbar-nav .nav-link').removeClass('active');
    $(this).addClass('active');
})
Run Code Online (Sandbox Code Playgroud)

演示:https//www.codeply.com/go/I3EjDb74My