У меня есть функция Jquery, которую я использую для установки «активного» класса в моих навигационных привязках, для этого он использует URL.Функция работает по большей части, но проблема в том, что, когда вкладка 1 активна, она также устанавливает вкладки 10, 11 и 12 как активные.
Код, который я использую ниже, правильно выводитpage
в console.log, он также работает как и для всех других ссылок, кроме пункта 1, как показано на скриншоте.
$(function(){
var url = window.location.href;
var page = url.substr(url.lastIndexOf('/')+1 );
$('.nav-item a[href*="'+page+'"]').addClass('active');
console.log(page);
});
nav довольно большой, поэтому я поделюсь сжатой версией, просто имейте в виду, что средний ul содержит в общей сложности 12 элементов, и каждый элемент имеет общий URL
article.php?contentID=
После=
приходит номер пункта от 1 до 12.
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<ul class="navbar-nav" >
<li><a class="navbar-brand" href="articles.php">Twist</a></li>
</ul>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link " href="article.php?contentID=1">Item 1</a>
</li>
</ul>
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="commentary.php">Commentary</a>
</li>
<li>
<a id="logLink" class="nav-link" href="logout.php">Log out</a>
</li>
</ul>
</div>
</nav>
Любая помощь будет оценена, и я уверен, что это что-то очевидное, но я просто не вижу ее.
Заранее спасибо.
Твист