У меня небольшая проблема в попытке установить «активный» класс, когда я нажимаю на ссылку, чтобы я знал, на какой странице я нахожусь. В настоящее время происходит, когда я нажимаю на другую вкладку, она устанавливает ее »active ", но затем исчезает при загрузке страницы.
Я использую Node.js, Express, Handlebar и Bootstrap.У меня есть ощущение, что это должно быть связано с тем, что class = "nav-link active" находится в теге вместо тега ?
Также вы можете найти краткий видеоролик по описанной проблеме:
https://imgur.com/a/xrV8kDv
заранее спасибо!
layout.handlebars
<div class="container">
<div class="header clearfix">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Home App</a>
<ul id="navbarMenu" class="nav nav-pills">
{{#if user}}
<li id="dashboardNav" class="nav-item">
<a class="nav-link active" href="/">Dashboard</a>
</li>
<li id="accountNav" class="nav-item">
<a class="nav-link" href="/users/account">Account</a>
</li>
<li id="logoutNav" class="nav-item">
<a class="nav-link" href="/users/logout">Logout</a>
</li>
{{else}}
<li class="nav-item">
<a class="nav-link" href="/users/login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/users/register">Register</a>
</li>
{{/if}}
</ul>
</nav>
</div>
<script type="text/javascript">
$('ul.nav-pills li').on("click", "a", function() {
alert("test");
$(this).siblings().removeClass("nav-link active");
$(this).addClass("nav-link active");
//alert($this.child().href);
});
</script>