jquery if else语句

Jos*_*osh 0 javascript jquery jquery-mobile

我在这做错了什么?这是在jquery-mobile上.

$('.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');
}
});
Run Code Online (Sandbox Code Playgroud)

第一部分有效,但不是第二次点击时.

Den*_*ret 7

从您的评论中,您似乎想要

$('.ui-checkbox').click(function() {
   $('label.ui-checkbox-on,label.ui-checkbox-off', this)
        .toggleClass('on').toggleClass('off');
});
Run Code Online (Sandbox Code Playgroud)

但这有点奇怪.你可以使用一个简单的类(on)并简单地做

$('.ui-checkbox').click(function() {
   $('label', this).toggleClass('on');
});
Run Code Online (Sandbox Code Playgroud)

您可能不需要2个课程,因为通常"关闭"意味着"不开启".

  • 你的第一个片段的旁注:`toggleClass`有一个经常错过的功能来处理多个类.所以`.toggleClass('on off')`也会起作用.(见:http://jsbin.com/uqavid/1/) (2认同)