5

这是我到目前为止所拥有的: 在此处输入图像描述

Javascript:

$(document).ready(function() {
    $(".thumb_wrapper").click(function() {
        $(this).addClass("active");
    });
});

所以这是有效的,它正在添加类,但我希望只有一个项目始终处于活动状态。因此,当我单击一个项目并使其变为活动状态时,我单击的下一个项目应该是新的活动项目,并删除前一个项目上的类。

那有意义吗?我怎么能做这样的事情?

谢谢!

4

5 回答 5

13

您需要首先从元素中删除active该类。thumb_wrapper试试这个:

$(".thumb_wrapper").click(function() {
    $(".thumb_wrapper").removeClass("active");
    $(this).addClass("active");
});
于 2012-04-09T15:40:01.067 回答
3

缓存你的包装器并首先调用removeClass()它:

var $wrapper = $(".thumb_wrapper");

$wrapper.click(function() {
    $wrapper.removeClass("active");
    $(this).addClass("active");
});
于 2012-04-09T15:40:55.803 回答
1
$(".thumb_wrapper").on('click', function() {
    $(".thumb_wrapper").removeClass('active').find(this).addClass("active");
});
于 2012-04-09T15:43:01.733 回答
0

这应该这样做。

$(document).ready(function() {
    $(".thumb_wrapper").click(function() {
        $(this).parent().children().each(function() { 
             $(this).removeClass("active");
         });
         $(this).addClass("active");
     });
});
于 2012-04-09T15:40:38.583 回答
0
$(document).ready(function(){
    $('.what').click(function(){
        $('.what').removeClass('active');
        $(this).addClass('active');       
   });       
});

我假设这样的事情?

于 2012-04-09T15:43:14.303 回答