2014-11-07 76 views
2

我有几个选项卡定义和包装标签。它们包含像跨度,img等几个元素。我的想法是为点击标签添加类ACTIVE并将其从前一个标签中移除,以便在任何时间点只有一个活动。 我使用的代码工作使用jQuery添加/删除类

 <script> 
    $(document).ready(function() { 
     $(".tabs").click(function() { 
      $(this).toggleClass("active"); 

     }); 
    }); 

但这只是解决方案的一部分。它将标签添加到标签,但不会将其从以前的单击标签中删除。所以如果我有3个选项卡并点击每个选项,所有选项都会被选中。任何简单的解决办法?

+0

另请参阅:http://stackoverflow.com/questions/11578081/css-jquery-active-tab-selection – Kolban 2014-11-07 02:51:48

回答

3
$(".tabs").click(function() { 
    $(".tabs").removeClass("active"); 
    $(this).addClass("active"); 
}); 
+0

如果是一个标签,也许添加一个preventDefault()会更好。 – 2014-11-07 02:28:59

0

你也可以试试这个

$(".tabs").on('click',function() { 
    $(".tabs").removeClass("active"); 
    $(this).addClass("active"); 
}); 

有关:将一个事件处理函数的一个或多个事件来选择的元素。

+0

如果您使用'.on()'而不监听它的原点(由第二个参数指定),那么您可以简单地坚持'.click()'。 – Terry 2014-11-07 02:30:55