设置优雅相似的语句而不重复它

时间:2013-02-19 16:21:32

标签: javascript jquery if-statement

我正在使用JavaScript中的下一个代码来设置id的类,每次我只想要一个div将使用border类:

 if (counter) {
            $('#car1').addClass('border');
            $('#car2').removeClass('border');
        }
        else {
            $('#car2').addClass('border');
            $('#car1').removeClass('border');
        }

counter它只是一个bool变量,可能是任何东西......

我想知道,我能更优雅地做到这一点吗?

2 个答案:

答案 0 :(得分:2)

如果counter是布尔值,您可以将其用作toggleClass的开关:

$('#car1').toggleClass('border', counter);
$('#car2').toggleClass('border', !counter);

- docs - >

  

.toggleClass(className,switch)

     

“switch”:Boolean布尔值(不仅仅是   truthy / falsy)值来确定是否应该添加类或   除去。

答案 1 :(得分:-2)

案例陈述怎么样

switch(counter)
{
  case 1:
   $('#car1').addClass('border');
   $('#car2').removeClass('border');
   break;
  case 2:
    $('#car2').addClass('border');
    $('#car1').removeClass('border');
   break;
  default:
   ....
}