2012-04-09 78 views
5

這是我到目前爲止有: enter image description herejQuery單擊添加類,但只允許一次。

的Javascript:

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

所以這個工作,它加入了類,但我只想要一個項目是活躍在任何時候。所以,當我點擊一個項目,並且它變爲活動狀態時,我點擊的下一個項目應該是新的活動項目,並刪除上一個項目中的類別。

這有道理嗎?我該如何做這樣的事情?

謝謝!

回答

11

您需要先從thumb_wrapper元素中刪除active類。試試這個:

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

非常感謝! – Drew 2012-04-09 16:59:59

0

這應該這樣做。

$(document).ready(function() { 
    $(".thumb_wrapper").click(function() { 
     $(this).parent().children().each(function() { 
      $(this).removeClass("active"); 
     }); 
     $(this).addClass("active"); 
    }); 
}); 
3

緩存您的包裝和它首先調用removeClass()

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

$wrapper.click(function() { 
    $wrapper.removeClass("active"); 
    $(this).addClass("active"); 
}); 
1
$(".thumb_wrapper").on('click', function() { 
    $(".thumb_wrapper").removeClass('active').find(this).addClass("active"); 
}); 
0
$(document).ready(function(){ 
    $('.what').click(function(){ 
     $('.what').removeClass('active'); 
     $(this).addClass('active');  
    });  
}); 

我認爲這樣的事情?