编辑:如果可能的话,我也可以通过 CSS 来做。另外,请注意 a:active 将不起作用,因为 a:active 只会在元素/链接处于活动状态时短暂更改它,直到单击导航栏中的另一个链接时才会更改它。
我正在尝试编写一个代码,在导航栏中,如果单击链接并且链接链接到当前页面,导航栏中的链接颜色应该不同(应该从白色变为红色)。到目前为止,这是我的html。
<nav class="menuL">
<ul id="menu">
<li><a href="#!/page_about"><span></span>biography</a></li>
<li><a href="#!/page_portfolio" id="portmenu"><span></span>portfolio</a></li>
<ul id="submenu">
<li class="subclass" id="first"><a href="#!/page_wine">Wine</a></li>
<li class="subclass" id="second"><a href="#!/page_landscape">Landscape</a></li>
<li class="subclass" id="third"><a href="#!/page_divers">Divers</a></li>
</ul>
</ul>
</nav>
<nav class="menuR">
<ul id="menu2">
<li><a href="#!/page_galleries"><span></span>galleries</a></li>
<li><a href="#!/page_contacts"><span></span>contact</a></li>
</ul>
</nav>
这是Javascript。
$(document).ready(function() {
$('nav a').click(function() {
$(this).closest('nav').find('.activeAnchor').removeClass('activeAnchor');
$(this).addClass('activeAnchor');
});
});
这是我与 Javascript 一起使用的 CSS。
a.activeAnchor {
color:red;
}
正如标题所提到的,这只影响子菜单。当我将鼠标悬停在 portmenu(投资组合)上时,如果我单击一个子菜单项,那么我单击的子菜单链接将变为红色,如果我单击另一个子菜单项,它就会更改,因此可以正常工作。但是,如果我单击非子菜单项(普通导航栏 li),它不会改变。关于为什么它只影响子菜单的任何想法?另外,如果我单击其中一个子菜单项,我希望突出显示 portmenu(投资组合)而不是子菜单项,我在 Javascript 方面不太擅长,所以如果有人可以帮助我解决这个问题,那就太好了!