活动URL菜单的活动类(不使用LI)

时间:2013-12-24 11:09:13

标签: jquery html css

我有这个HTML代码,我想在活动链接中包含的div中添加一个“active”类。 (我故意使用无序列表创建此导航。)

<nav role="navigation" id="navigation">
<a href="rings-c-24.html" title="Rings"><div class="primary-navigation">Rings</div></a>
<a href="earrings-c-23.html" title="Earrings"><div class="primary-navigation">Earrings</div></a>
<a href="necklaces-c-26.html" title="Necklaces"><div class="primary-navigation">Necklaces</div></a>
<a href="bracelets-and-bangles-c-22.html" title="Bracelets & Bangles"><div class="primary-navigation">Bracelets & Bangles</div></a>
</nav><!-- end of navigation-->

我尝试过这样的事情,但我确信我没有正确地引用我的父母和孩子。请帮忙,谢谢!

$(function(){
    var current = location.pathname;
    $('.primary-navigation').each(function(){
        var $this = $(this).parent();
        // if the current path is like this link, make it active
        if($this.attr('href').indexOf(current) !== -1){
            $this.addClass('active');
        }
    })
}) 

2 个答案:

答案 0 :(得分:1)

您可以使用属性选择器:

$("#navigation a[href='"+location.pathname+"']").find(".primary-navigation").addClass("active");

或者,如果您要将该类添加到<a>标记:

$("#navigation a[href='"+location.pathname+"']").addClass("active");

答案 1 :(得分:0)

试试这个

 $(function() {
    var pgurl = window.location.href.substr(window.location.href
    .lastIndexOf("/")+1);
    $("#navigation a").each(function(){
    if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
    $(this).find(".primary-navigation").addClass("active");
    })
    });