Javascript css向选定元素添加类

Javascript css向选定元素添加类,javascript,html,css,twitter-bootstrap,Javascript,Html,Css,Twitter Bootstrap,我正在使用twitter引导程序来撰写标题,我有一个类似的标题 <ul class="nav navbar-nav"> <li><a href="#" class="active" onclick="$(this).addClass('active')">Home</a></li> <li class="currentselection"><a href="#about">About</

我正在使用twitter引导程序来撰写标题,我有一个类似的标题

  <ul class="nav navbar-nav">
    <li><a href="#" class="active" onclick="$(this).addClass('active')">Home</a></li>
    <li class="currentselection"><a href="#about">About</a></li>
    <li><a href="#contact">Contact</a></li>
  </ul>
结果如下所示:

.nav li a { color: #000; background: #FFF; }
.nav li a.active { color: #FFF; background: #FF0000 }

可在此处查看实时版本:

问题是,我想设置一个且仅设置一个活动的
,因此如果用户单击“关于”,则
关于
将设置为活动,而
主页将不再标记为活动。这看起来很常见,应该很容易实现,但我已经修修补补了2天,真的不知道,来自C和CPP背景,我在javascript方面非常弱。。。请解释并标记我可以实现这一点的文件(.css或.js或在.html内部)好吗


非常感谢你的帮助

您已经用twitter引导标记了它,那么这是否意味着您已经运行jQuery了?如果是这样,那么这是一个简单的解决办法

您只需按如下方式设置CSS:

.nav li a { color: #000; background: #FFF; }
.nav li a.active { color: #FFF; background: #FF0000 }
然后,您可以通过在脚本中的某个地方放置jQuery侦听器来更改元素上的“active”类。在这种情况下,您正在听某人单击它:

$(function() {
   $('ul.nav li a').on('click', function(e) {

       //this line prevents the link for actually redirecting you
       e.preventDefault(); 

       //this line clears whatever the previous active link was
       $(this).closest('ul').find('li a.active').removeClass('active');

       //this line adds the class to the current link
       $(this).addClass('active');

   });
});

您已经用twitter引导标记了它,那么这是否意味着您已经运行jQuery?如果是这样,那么这是一个简单的解决办法

您只需按如下方式设置CSS:

.nav li a { color: #000; background: #FFF; }
.nav li a.active { color: #FFF; background: #FF0000 }
然后,您可以通过在脚本中的某个地方放置jQuery侦听器来更改元素上的“active”类。在这种情况下,您正在听某人单击它:

$(function() {
   $('ul.nav li a').on('click', function(e) {

       //this line prevents the link for actually redirecting you
       e.preventDefault(); 

       //this line clears whatever the previous active link was
       $(this).closest('ul').find('li a.active').removeClass('active');

       //this line adds the class to the current link
       $(this).addClass('active');

   });
});

这几乎是完美的作品!我想注释掉
e.preventDefault()
,因为它破坏了链接。另一个问题是
仍处于悬停状态,因此a.active颜色不可用show@NabilKadimi这是什么?我要添加
$(this.blur()
删除焦点这几乎可以完美地工作!我想注释掉
e.preventDefault()
,因为它破坏了链接。另一个问题是
仍处于悬停状态,因此a.active颜色不可用show@NabilKadimi这是什么?我要添加
$(this.blur()
以删除焦点