2014-02-11 2 views
0

Как добавить класс в li на основе фактической ссылки в вложенном меню в JQuery? Спасибо.Как добавить класс в li на основе вложенного меню?

HTML:

<ul> 
    <li> 
    <a></a> 
    <ul> 
    <li><a></a></li> 
    </ul> 
    <li> 
</ul> 

Jquery:

var prev_url = document.referrer; 
var $current = $('.arrows_list1-1 li a[href="' + prev_url + '"]'); 
(don't know).addClass('current-menu-item'); 
+2

может поставить HTML, а? –

+0

Я отредактировал мой пост – user3276426

+0

вы можете сделать это '$ ('. Arrows_list1-1 li a [href ="' + prev_url + '"]'). AddClas ('current-menu-item')'? –

ответ

1

Элемент 'li' выбранного 'a', к которому вы хотите добавить класс? если да, то попробуйте

$current.closest('li').addClass('current-menu-item') 

С другой стороны, это может быть сделано таким образом:

$('.arrows_list1-1 li').filter(function(){ 
    return $(this).has('a[href="'+ document.referrer + '"]').length > 0; 
}).addClass('current-menu-item'); 
0

Было бы безопаснее использовать .filter метод:

var $current = $('.arrows_list1-1 li a').filter(function() { 
    return this.href === document.referrer; 
}); 

$current.addClass('current-menu-item'); 

логическое обоснование того, что атрибут href может быть в любом формат (абсолютный, относительный и т. д.), но hrefсвойство всегда нормализовано как абсолютный URL.

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