Код работает, класс актив добавляется, но выдает ошибку в консоли:
Uncaught TypeError: Cannot read properties of undefined (reading 'length')
Я прохожусь по всем ссылкам меню и если ссылка(подссылка внутри тоже) совпадает с a href, то меню добавляется active:
<ul class="sidebar">
<li>
<a href="news/top/" class="menu-item"> <!-- href="#"-->
<span><i class="fa fa-home"></i></span><h3>Топ Новости</h3>
</a>
</li>
<li>
<a href="news/top2/" class="menu-item"> <!-- href="#"-->
<span><i class="fa fa-home"></i></span><h3>Топ Новости 2</h3>
</a>
</li>
<li>
<a href="news/top3/" class="menu-item"> <!-- href="#"-->
<span><i class="fa fa-home"></i></span><h3>Топ Новости 3</h3>
</a>
</li>
<li>
<a href="news/top4/" class="menu-item">
<span><i class="fa fa-home"></i></span><h3>Топ Новости 4</h3>
</a>
</li>
</ul>
$('.sidebar li').removeClass('active');
var path = window.location.pathname;
$('.sidebar li a').each(function() {
var href = $(this).attr('href');
if(path.slice(1).substring(0, href.length) === href) {
$(this).parent('li').addClass('active');
}
});