Я строю очень простое меню с использованием неупорядоченного списка. Я бы хотел, чтобы текущая страница была выделена, когда она выбрана.«активный» класс, не добавляющий ко всем элементам списка
Моя проблема в том, что один из пунктов меню получает класс active
, добавленный при его нажатии, но ни один из остальных не является тем, что я меняю страницу из меню, поэтому это меня так сбивает с толку. При проверке ошибок в консоли нет. Я даже пробовал метод regex от this SO post, но он все еще не работает для меня со всеми пунктами меню.
HTML
<div class="page-menu">
<ul>
<li class="list-item"><a href="#Item1">Item 1</a></li>
<li class="list-item"><a href="#Item2">Item 2</a></li>
<li class="list-item"><a href="#Item3">Item 3</a></li>
</ul>
</div>
CSS
.active {
background-color:red;
}
JQuery
$(document).ready(function(){
$('.page-menu a').each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("active");
});
});
Любые идеи о том, почему active
будут добавлены к одному элементу списка, но не другие?
Поскольку 'href' соответствует только одному из них? И ваш добавочный класс 'selected', а не' active' – tymeJV
@tymeJV класс внизу был опечаткой ... он обновляется сейчас. Я думал, что 'if' проверял текущий URL ... это неправильно? – Brian
Это, но почему вы ожидаете добавить более 1 активного класса? – tymeJV