我在这里寻找答案,但是都不适合我的特定问题。
我有一个Bootstrap 4导航栏,我需要为单击的菜单项更改活动类。默认情况下,我有主页链接处于活动状态。但是,当我单击另一个链接时,什么也没有发生。当我再次单击它时,活动类被找到并删除,但是活动类未添加到我单击的项目中,活动类返回到主页链接。
导航栏的相关部分:
$(document).ready(function() {
$('.nav-link').on('click', function() {
$('.navbar-nav').find('.active').removeClass('active');
$(this).addClass('active');
});
});
.active { color: red }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="navbar-nav">
<li class="nav-item">
<a id="homelink" class="nav-link active" href="index.php">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a id="aboutlink" class="nav-link" href="about.php">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Portfolio</a>
</li>
</ul>
答案 0 :(得分:0)
这很好。 检查这些文件是否放在正确的位置:
jquery.min.js-版本3.3.1
bootstrap.min.js-版本4.1.3
popper.min.js-版本1.14.3
bootstrap.min.css-版本4.1.3
$(document).ready(function() {
$('.nav-link').on('click', function(){
$('.navbar-nav').find('.active').removeClass('active');
$(this).addClass('active');
});
});
.active{
background-color:grey;
color:black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<html>
<head>
</head>
<body>
<ul class="navbar-nav">
<li class="nav-item">
<a id="homelink" class="nav-link active" href="#">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a id="aboutlink" class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Portfolio</a>
</li>
</ul>
</body>
</html>
答案 1 :(得分:0)
我已经使用bootstrap为bootstrap 4推荐的cdn版本(jquery.js,popper.js,bootstrap.js)运行了您的代码,并且一切似乎都很好,请尝试将其版本更改为建议的版本官方引导页面https://getbootstrap.com/docs/4.1/getting-started/introduction/