Я хочу добавить активный класс ко всем блокам основной категории в моем html-коде следующим образом: -
<ul class="tabs">
<li class="accordion"><a href="#tab1">Boo1</a>
<ul id="sub-nav">
<li><a href="http://www.myweb.com"> Ipsum Text</a></li>
<li><a> Lorem text</a></li>
<li><a> More lorem text </a></li>
<li><a> Dolor Sit Amet </a></li>
</ul>
</li>
<li><a href="#tab2">Boo2</a></li>
<li><a href="#tab3">Boo3</a></li>
<li class="last-item"><a href="#tab4">Boo4</a></li>
</ul>
Оформлен так: -
#sub-nav > .active {background:#AAA;}
.tabs li a.active { background: green; }
.tabs li a {font-size:20px;}
#sub-nav li a {font-size:16px; margin-left:20px;}
Поэтому я сделал это: -
(function(){
$('.tabs #sub-nav li').bind('click', function(e){
var subNavList = $(this),
list = $('.tabs').find('li').add('.tabs a');
list.removeClass('active');
subNavList.addClass('active').parents('li').addClass('active').children('a').addClass('active');
});
}());
Моя единственная проблема сейчас заключается в том, что при нажатии на другой список навигации (boo2 и boo3) активный класс не применяется. Пожалуйста, проверьте код jsfiddle, чтобы лучше понять. http://jsfiddle.net/gfkM4/6/ Что я делаю не так, ребята? Не могли бы вы мне помочь?
1 ответ
Я считаю, что это то, что вы ищете (выберите верхнюю навигацию при нажатии также выберите как вспомогательную навигацию, так и ее родительский элемент при нажатии):
(function(){
$('.tabs a').on('click', function(e){
$('.tabs a').removeClass('active');
$(this).addClass('active');
$(this).closest('ul').closest('li').children('a').addClass('active');
})
}());
#sub-nav > .active {background:#AAA;}
на #sub-nav .active {background:#AAA;}
. jsfiddle.net/gfkM4/10
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.
'.tabs #sub-nav li'