所以我在我的标题上有这个导航,但问题是当我点击链接并将我重定向到该页面时它会失去活动类。有什么建议吗?
<nav>
<div class="menu-topmenu-container">
<ul id="menu-topmenu" class="menu">
<li id="whats-on" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-53">
<a href="#whatson" class="active">What’s On</a>
</li>
<li id="menu-item-52" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-52">
<a href="visiting-us">Visiting Us</a>
</li>
<li id="menu-item-46" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-33 current_page_item menu-item-46">
<a href="collections-research">Collections & Research</a>
</li>
<li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50">
<a href="learning">Learning</a>
</li>
<li id="menu-item-49" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49">
<a href="get-involved">Get Involved</a>
</li>
</ul>
</div>
</nav>
我尝试了这个,但它不起作用:
$(function(){
var href=window.location.href;
$('nav a').each(function(e,i){
if (href.indexOf($(e).attr('href'))>=0)
{
$(e).addClass('active');
}
});
});
答案 0 :(得分:7)
使用e
更改this
,因为e
为index。
$(function() {
var href = window.location.href;
$('nav a').each(function(e,i) {
if (href.indexOf($(this).attr('href')) >= 0) {
$(this).addClass('active');
}
});
});