我使用bootstrap导航和一点PHP来使其模块化。我用jQuery添加了一个" active"客户端的CSS类。
我想将活动课程添加到"计划" "(代理人)" "新闻" "常见问题解答"和"联系"当他们活跃并且不做任何事情时,立即投票"和"主页"。
jQuery(document).ready(function($){
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,''));
$('#menu_list li a').each(function(){
if(urlRegExp.test(this.href)){
$(this).addClass('active');
}
// I added this for removing the active class from all the nav items on home page (which is the logo)
else if (url == ''){
$('#menu_list li a').removeClass('active');
}
});
})
这是我的header.php
<header>
<nav class="navbar navbar-toggleable-md fixed-top navbar-light bg-faded">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav" id="menu_list">
<li><a class="nav-item nav-link" href="the_plan.php">The Plan</a></li>
<li><a class="nav-item nav-link" href="nominees.php">Nominees</a></li>
<li><a class="nav-item nav-link" href="news.php">News</a></li>
<li class="logo_container">
<a class="navbar-brand" href="/"><img src="assets/images/point_north_logo.png"><span class="sr-only">(current)</span></a>
</li>
<li><a class="nav-item nav-link" href="faqs.php">FAQs</a></li>
<li><a class="nav-item nav-link" href="contact.php">Contact</a></li>
<li><a href="vote_now.php"><button class="btn_vote">Vote Now!</button></a></li>
</div>
</div>
</nav>
</header>
问题是当我在主页上时,此代码会为所有链接添加活动。我想要实现的是当我在主页时,我不想将任何类添加到其他链接。我找到的代码是寻找href以突出我相信,如果它找不到它。它通过向所有人添加活动类来突出显示所有这些内容。
我没有JSfiddle,因为脚本正在寻找具有明确目的地的超链接。小提琴因某种原因没有奏效。如果有人可以帮助我,这将是伟大的,但是,如果你需要一个阶段我可以尝试设置一些东西。