检查具有给定类的元素,找不到大小写,将类添加到第一个元素

时间:2014-08-11 20:26:20

标签: javascript jquery class each

你是怎么做到的:

在一组元素上,检查是否存在给定类的任何元素。 未找到案例,将该类添加到集合的第一个元素。

我想出了下面的代码。

它运作良好,但是,有更简单/更清洁/更聪明的方法吗?

var noActiveElement = true;

$('.list-group-item').each(function(){
     if ($(this).hasClass('active')){
         noActiveElement = false;
         return false;
     }                    
 });

  if (noActiveElement)
     $('.list-group-item').eq(0).addClass('active');

2 个答案:

答案 0 :(得分:4)

测试length选择器找到的元素是最简单的方法

if( !$('.list-group-item.active').length ){
  $('.list-group-item').eq(0).addClass('active');
}

使用$(selector)时,会创建与选择器匹配的元素数组。如果没有找到,则数组的长度为零

答案 1 :(得分:0)

if (!$('.list-group-item.active').length) {
  $('.list-group-item').eq(0).addClass('active');
}