jQuery(function($) {
var path = window.location.href;
$('ul li').each(function() {
if (this.href === path) {
$(this).addClass('active');
}
});
});

<ul id="nav" class="nav navbar-nav">
<li class="active"><a href="a.php">A</a></li>
<li><a href="b.php">Bs</a></li>
<li><a href="c.php">C </a></li>
</ul>
&#13;
我想改变班级=&#34;活跃&#34;在点击列表项目中。
答案 0 :(得分:0)
<li id="a" ><a href="a.php">A</a></li>
Using $('#a').attr('class', 'active')
输出:
<li id="a" class='active' ><a href="a.php">A</a></li>
答案 1 :(得分:0)
问题是你正在检查li元素的href属性,该属性不存在。您需要检查li元素内部的a标签,以获取href属性,如下所示:
if ($(this).find('a').attr('href') === path) {
$(this).addClass('active');
}
答案 2 :(得分:0)
您可以使用:
$(this).toggleClass('class1 class2')
答案 3 :(得分:0)
如果您要更改活动类和html页面,这将是一种有效的方法。如果您只想更改活动类,请仅使用前4行代码。
$( document ).ready(function() {
$(".nav li").click(function() {
$(".nav li.active").removeClass("active");
$(this).addClass("active");
if($(this).attr('id')=="yourfirstlinkid"){
document.getElementById("content").innerHTML='<object type="text/html" data="yoursite" height="90% width="90%" ></object>';
}else if($(this).attr('id')=="otherid"){
document.getElementById("content").innerHTML='<object type="text/html" data="othersite"></object>';
}else{
document.getElementById("content").innerHTML='<div/>';
}
});
});
然后你需要对你的HTML做的就是
<ul class="nav">
<li class="active" id="whateveryouwant"><a href="#anything you want">A</a></li>
<li id="whateveryouwant" ><a href="#anything you want">Bs</a></li>
<li id="whateveryouwant"><a href="#anything you want">C</a></li>
</ul>
<div align= "center" id="content"></div>
我想添加的另一件事是永远不要将herf用于导航栏,因为导航栏js代码将永远不会改变它的当前活动类。