我知道这个问题很多,但我无法弄清楚如何使用已经回复的帖子来解决这个问题。
我有一个带导航链接的标题。我想将class="active"
添加到当前处于活动状态的链接中。
如果我有以下导航,我怎么能这样做?
<nav>
<ul id="main_nav">
<li class="home">
<a href="search">
<i class="icon-search"></i>
<span>BEDRIJF ZOEKEN</span>
</a>
</li>
<li class="categorie">
<a href="categorieen/all">
<i class="icon-list-ul"></i>
<span>CATEGORIE</span>
</a>
</li>
<li class="aanbieding">
<a href="aanbiedingen">
<i class="icon-shopping-cart"></i>
<span>AANBIEDING</span>
</a>
</li>
<li class="vacature">
<a href="vacatures">
<i class="icon-copy"></i>
<span>VACATURE</span>
</a>
</li>
<li class="agenda">
<a href="agenda">
<i class="icon-calendar"></i>
<span>AGENDA</span>
</a>
</li>
<li class="contact">
<a href="contact">
<i class="icon-envelope"></i>
<span>CONTACT</span>
</a>
</li>
</ul>
</nav>
我尝试了这个,但它不起作用:
<script>
$(function() {
var href = $(this).find('a').attr('href');
alert(window.location.pathname)
if (href === window.location.pathname) {
$(this).addClass('active');
}
});
</script>
也许有更好的Codeigniter-ish方式?
答案 0 :(得分:14)
尝试这个。我认为不需要javascript或jquery。
如果您使用的是codeigniter,则可以使用URI Class。
<li class="home">
<a class="<?php if($this->uri->segment(1)=="search"){echo "active";}?>" href="<?=base_url('search')?>">
<i class="icon-search"></i>
<span>BEDRIJF ZOEKEN</span>
</a>
</li>
如果您遇到任何问题,请告诉我
答案 1 :(得分:7)
我创建了一个帮助程序并将其保存到名为“menu_helper.php”的帮助程序目录中:
<?php
if(!defined('BASEPATH')) exit('No direct script access allowed');
if(!function_exists('active_link')) {
function activate_menu($controller) {
// Getting the class instance.
$ci = get_instance();
// Getting the router class to actived it.
$class = $ci->router->fetch_class();
return ($class == $controller) ? 'active' : '';
}
}
然后在config / autoload.php中,我在第91行添加了“menu”作为帮助。
最后一步是在访问页面时将代码打印为“活动”类(即登录页面):
<li class="<?php echo activate_menu('login'); ?>">
<?php echo anchor('login', 'Login'); ?>
</li>
答案 2 :(得分:0)
if (href === window.location.pathname) {
$('a[href='+ href +']').addClass('active');
}
答案 3 :(得分:0)
试试这个:
<a class="<?=(current_url()==base_url('search')) ? 'active':''?>" href="<?=base_url('search')?>">