我使用侧导航栏的引导模板作为EJS中的一个部分,然后包含在所有使用它的页面中。是从他们的Dashboard template中采取的。该HTML是如何将元素的类更改为活动?
<nav class="col-sm-3 col-md-2 hidden-xs-down bg-faded sidebar">
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link active" href="/profile">Overview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/accountdetails">Account Details</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/admin">Admin</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/transactions">Transactions</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contract">Contract</a>
</li>
</ul>
</nav>
无论环节都有active
类与背景深蓝色特别的造型。我现在想要在导航到不同链接时以编程方式更改此内容。
他们都去不同的页面,所以我可以改变那里的问题是,我包括整个侧边栏代码作为一个EJS部分,所以这是行不通的。我也试过这个answer,但它不起作用(闪烁活动样式但消失 - 可能是因为它是路由到另一个页面?)。
这里有很多关于以编程方式更改HTML元素的问题,但他们通常使用document.getElementById
,这似乎太多工作(给每个ID,检查所有等)。有没有更快/更正确的方法?
的可能的复制[如何getElementByClass代替的getElementById使用Javascript?](https://开头计算器.com/questions/1933602/how-to-getelementbyclass-instead-of-getelementbyid-with-javascript) – kulaeff
这不可能是第一次有人问这个问题。 –
'我现在想在导航到不同的链接时改变这个编程方式'你想如何改变它? –