我使用側導航欄的引導模板作爲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
這不可能是第一次有人問這個問題。 –
'我現在想在導航到不同的鏈接時改變這個編程方式'你想如何改變它? –