2013-02-20 279 views
0

我在這裏做錯了什麼?這是在jQuery的手機。jquery if else語句

$('.ui-checkbox').click(function() { 
if ( 
    $('.ui-checkbox label.ui-checkbox-off').removeClass('off').addClass('on')) {   
}else { 
    $('.ui-checkbox label.ui-checkbox-on').removeClass('on').addClass('off'); 
} 
}); 

第一部分工作,但不是當我第二次點擊時。

+0

你想做什麼? – 2013-02-20 15:21:21

+2

你使用'addClass'但想要'hasClass'嗎? – 2013-02-20 15:21:45

+0

當我點擊,我試圖刪除類「關閉」,並添加「上」..然後,如果你再次點擊,刪除類「開」,並添加「關」 – Josh 2013-02-20 15:22:12

回答

7

從你的評論,你似乎想

$('.ui-checkbox').click(function() { 
    $('label.ui-checkbox-on,label.ui-checkbox-off', this) 
     .toggleClass('on').toggleClass('off'); 
}); 

但是,這是一個有些奇怪。你可以使用一個簡單的類(on),只是做

$('.ui-checkbox').click(function() { 
    $('label', this).toggleClass('on'); 
}); 

你可能不需要2類爲一般「關」的意思是「不」。

+0

+1,爲什麼我不這麼想! – adeneo 2013-02-20 15:24:04

+2

您的第一個片段的旁註:'toggleClass'有一個經常錯過的功能,可用於多個類。因此'.toggleClass('off')'也可以。 (請參閱:http://jsbin.com/uqavid/1/) – Yoshi 2013-02-20 15:34:26

+0

@Yoshi +1謝謝,我不知道,可能是因爲,正如我所說的,僅切換一個類通常就足夠了。 – 2013-02-20 15:36:40