【发布时间】:2019-04-19 05:07:43
【问题描述】:
我是 JQuery 的新手,正在尝试将“活动”标签添加到引导类。如果我的 .js 文件中的语法有问题,谁能告诉我。
这是我的 base.js 文件:
$(document).ready(function(){
$("#navlinks li a").on(click, function(){
$(this).addClass('active').siblings().removeClass('active');
})
});
这是我正在使用的 html 页面(使用 django):
<div class="collapse navbar-collapse">
<ul class="navbar-nav mr-auto" id="navlinks">
<li class="nav-item">
<a class="nav-link" href="{% url 'home' %}"><i class="fas fa-home"></i> Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'contact'%}"><i class="far fa-envelope"></i> Contact</a>
</li>
</ul>
以防我没有正确排序我的 .js 文件,这是我的 html 页面的底部:
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<!-- Custom JS would follow Bootstrap -->
<script type="text/javascript" src="{% static 'js/base.js' %}"></script>
更新:
在这里取得一些进展:
$(function(){
$('#navlinks li a').each(function(){
var $this = $(this);
if($this.attr('href').indexOf(current) !== -1){
$this.addClass('active');
}
});
因此,当我单击主页链接时,这可以解决问题,即联系人链接显示为“活动”,主页链接保持“禁用”。但是,当我单击主页链接时,两个链接都显示为“活动”状态。
我试图用这个来纠正这种情况:
$(function(){
var current = location.pathname;
$('#navlinks li a').each(function(){
var $this = $(this);
if($this.hasClass("active")){
$this.removeClass('active');
}
})
$('#navlinks li a').each(function(){
var $this = $(this);
// if the current path is like this link, make it active
if($this.attr('href').indexOf(current) !== -1){
$this.addClass('active');
}
})
});
知道为什么这对我的新情况没有帮助吗?我们快到了,谢谢大家!
【问题讨论】:
-
我更新我的答案
标签: javascript jquery html