2015-12-28 2 views
0

я был в состоянии найти твердый раствор, как добавить «активный» класс пунктов меню на основе URL страницы:JQuery добавить класс .active в меню в подпапках

jQuery(function(){ 
    var page = window.location.pathname, 
     find = new RegExp(page == '/' ? window.location.origin + '/?jQuery' : page.replace(/\/jQuery/,'')); 
    jQuery('nav a').each(function(){ 
     if(find.test(this.href.replace(/\/jQuery/,''))){ 
      jQuery(this).addClass('active'); 
     } 
    }); 
}); 

Это, однако , не работает со ссылками в подпапках, и я не могу понять, как заставить его работать. Что мне не хватает?

ответ

1

Это то, что я использую, и она работает для пунктов меню в моих подпапках

$(".menu-item").each(function() { 
    if (this.href == window.location.href) { 
    $(this).addClass("active"); 
    } 
}); 
0
jQuery(document).ready(function(jQuery){ 
     var url = window.location.href; 
      jQuery('#nav a.level-top').filter(function() { 
       return this.href == url; 
     }).addClass('active'); 
     jQuery('#nav a.active').closest('li').addClass('active'); 
    }); 
+0

Просьбы уточнить ваш ответ тоже. –

+0

Я попробовал и не мог заставить его работать. –

+0

@JohnRPerry Эта работа для меня ... здесь, var url = получить URL-адрес из адресной строки браузера, после чего он фильтрует тэг #nav-секции, который имеет URL-адрес верхнего уровня и назначает активный класс впоследствии. назначить активный класс ближайшему li или родительскому активному классу li –

Смежные вопросы