【发布时间】:2011-06-20 16:52:30
【问题描述】:
我对链接的 onClick 更改进行了大量研究,但无法完全确定我需要的解决方案。我有一个包含三个链接的侧栏菜单。我有一个默认的“活动”类添加到我想作为默认显示的内容中。但是,当我单击侧边栏中的另一个链接时,我希望删除前一个链接的“活动”类,替换为“非活动”,然后将“活动”应用于新链接。这是我的代码:
HTML:
<div id="sidebar">
<ul>
<li><a href="#" id="1" class="active">1</a></li>
<li><a href="#" id="2" class="inactive">2</a></li>
<li><a href="#" id="3" class="inactive">3</a></li>
</ul>
</div>
CSS:
a.active {
background-color:#ccd9ff;
border-radius:15px 15px;
}
a.inactive {
border:0;
background:0;
}
jQuery:
$(function(){
$('a.inactive').click(function(){
$('a.inactive').removeClass('inactive');
$(this).addClass('active');
});
});
我阅读了这个previous post,它帮助我弄清楚了如何在点击时添加类(上图),但是我无法删除非活动链接的“活动”类。有人可以帮帮我吗?
【问题讨论】:
-
@Mario:CSS
:active与 OP 试图实现的含义不同。它不记得最后一个被点击的元素,而是引用当前被点击的元素。当点击事件完成时,:active不再匹配。 Example.