我是 JQuery 的新手,我有一个关于 addClass() 的问题。我花了一些时间试图让这个工作,但似乎我做错了什么。我用 HTML 和引导程序创建了一个顶级菜单。我假设访问者会首先登陆我的 index.php,所以我为我的 index.php 创建了 class="active"。然后,如果他们单击顶部菜单上的任何其他链接(例如关于我们),那么 class="active" 将添加到 index.php 的“li”选项卡中并从“li”选项卡中删除 class="active"。
下面是我的 HTML 代码:
<div class="nav-collapse collapse">
<ul class="nav pull-right">
<li id="home" class="active"><a href="index.php"> Home</a></li>
<li id="about"><a href="about_us.php"> About Us</a></li>
<li id="browse"><a href="browse.php"> Browse</a></li>
<li id="contact"><a href="contact.php"> Contact</a></li>
</ul>
</div>
下面是我使用并尝试完成此操作的 JQuery 代码。
$(function (){
var sidebar = $('.nav');
sidebar.delegate("li", "click", function(){
if($(this).hasClass('active')){
//If click on the tab that is currently active, it will do nothing.
}else{
sidebar.find('.active').addClass('inactive');
sidebar.find('.active').removeClass('active');
$(this).removeClass('inactive');
$(this).addClass('active');
}
});
});
我在本地服务器上对其进行了测试。单击后,我可以看到顶部菜单中的选项卡变为灰色,但它没有保留。所以我确定我做错了什么,但不确定在哪里。我是 JQuery 的新手,所以我希望我能向你们学习。谢谢你!