2014-09-01 34 views
0
刪除以前添加類

我有一個後續問題是:Add and remove a class on click using jQuery?的jQuery

我能夠一類添加到特定li元素使用該剪斷由傑米·泰勒:

$('.team').on('click', 'li', function() { 
    $('.team li#member').removeClass('more'); 
    $(this).addClass('more'); 
}); 

我想再次通過點擊li-item中的切換元素來刪除Class。

我的jQuery的片段不工作:

$('.toggle-x').click(function() { 
    $('.team li#member').removeClass('more'); 
}) 

感謝您的幫助!

+2

向我們展示html .. – 2014-09-01 10:53:08

+0

您並未從您點擊的元素中移除它,而是將它從任何'.team li#member'匹配項中移除。 – Barmar 2014-09-01 10:53:27

回答

0

你的問題,是因爲當你點擊<li />內的元素X的元素大火click事件,如果您不使用event.stopPropagation(),則<li />也會觸發click事件,並且該類將再次添加。

試試這個:

$('.toggle-x').click(function (e) { 
    $('.team li#member').removeClass('more'); 
    e.stopPropagation(); 
}) 

,如果這是你的問題,它應該工作。

+0

哇這很快。這個工作正常。非常感謝! – user2190590 2014-09-01 11:08:23

1

在您的代碼中,它將刪除類窗體只有一個ID爲member的元素。如果你想刪除所有li元素的類,這樣使用,

$('.team li.more').removeClass('more'); 
+0

我以前試過,沒有幫助。不過謝謝。 – user2190590 2014-09-01 11:09:25

1

試試這個

$(".innerLiContent").click(function(){ 
     $(this).parentsUntil("li").removeClass('more'); 
    }); 
+0

我試過了,似乎沒有工作。不過謝謝。 – user2190590 2014-09-01 11:16:48