我正在使用無序列表構建一個非常簡單的菜單。我希望當前頁面在被選中時突出顯示。「活動」類不添加到所有列表項目
我的問題是,其中一個菜單項獲得點擊時添加的active
類,但其他都不是當我從菜單中更改頁面時,這就是爲什麼這對我來說很困惑。當我檢查時,控制檯中沒有錯誤。我甚至嘗試過從this SO post正則表達式的方法,但它仍然不適合我的所有菜單項。
HTML
<div class="page-menu">
<ul>
<li class="list-item"><a href="#Item1">Item 1</a></li>
<li class="list-item"><a href="#Item2">Item 2</a></li>
<li class="list-item"><a href="#Item3">Item 3</a></li>
</ul>
</div>
CSS
.active {
background-color:red;
}
jQuery的
$(document).ready(function(){
$('.page-menu a').each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("active");
});
});
爲什麼active
將被添加到一個列表項的任何想法,但不是別人?
因爲'href'爲他們的一個只匹配?而你的加入類'selected',而不是'active' – tymeJV 2014-10-08 14:32:50
@tymeJV底部的類是一個錯字...現在更新了。我認爲'if'正在檢查當前的URL ......是不是正確的? – Brian 2014-10-08 14:35:44
這是,但爲什麼你會期望添加超過1個活動類? – tymeJV 2014-10-08 14:37:05