如果条件,循环而不是很多

时间:2013-12-10 11:23:53

标签: javascript jquery html angularjs

if( $('.test1').hasClass('collapsed') == false ){
$('.test1').trigger('click');
}
if( $('.test2').hasClass('collapsed') == false ){
$('.test2').trigger('click');
}
if( $('.test3').hasClass('collapsed') == false ){
$('.test3').trigger('click');
}
if( $('.test4').hasClass('collapsed') == false ){
$('.test4').trigger('click');
}
if( $('.test5').hasClass('collapsed') == false ){
$('.test5').trigger('click');
}

我有共同的类测试,有没有办法将这个条件减少到一个使用循环。

for(...){
 if( $('.test[i]').hasClass('collapsed') == false ){
 $('.test[i]').trigger('click');
}
}

请建议。

2 个答案:

答案 0 :(得分:3)

试试这个:

for(...) {
 var id = ".test" + i;
 if( $(id).hasClass('collapsed') == false ) {
      $(id).trigger('click');
 }
}

答案 1 :(得分:3)

为什么不在此元素中添加第二个类.clickable?然后你可以做一个

if( $('.clickable').hasClass('collapsed') == false ){
   $('.clickable').trigger('click');
}

或者,包括其他答案的评论

$('.clickable').not('.collapsed').click()