当我点击链接时,我想更改导航栏中的Active类(使用bootstrap)。
这是我的HTML:
<div class="navbar navbar-fixed-top navbar-inverse">
<div class="navbar-inner">
<div class="container">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="brand" href="#">Phonebook</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About Us</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</div>
</div>
</div>
我已经尝试过从网站上的答案中获得的以下jQuery代码,但它不起作用。
这是代码:
$(document).ready(function () {
$('.nav li a').click(function (e) {
var $this = $(this);
if (!$this.hasClass('active')) {
$this.addClass('active');
}
debugger;
e.preventDefault();
});
});
答案 0 :(得分:1)
你让它复杂化了:
$(document).ready(function () {
$('.nav li').on('click', function (e) {
$(this).addClass('active').siblings().removeClass('active');
});
});
为什么要添加哈希链接到锚点,然后在事件处理程序中使用preventDefault?