javascript - 检查具有给定类的元素,未找到情况,将类添加到第一个元素

标签 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');

最佳答案

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

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

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

关于javascript - 检查具有给定类的元素,未找到情况,将类添加到第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25251816/

相关文章:

Java 变量未初始化

javascript - JQuery 一旦创建就附加到父级

javascript - 修改函数以同时按多个数据属性进行过滤

javascript - 哪个更好 - Ext.get() 或 document.getElementById()

javascript - 数据表 - 无法按与字符串类型不同的列排序

javascript - 可以更改 Highcharts 钻取内的高度吗?

javascript - Bootstrap 滑动框

jquery - 序列化动态创建的表单//Post ajax请求

python - 对象不匹配

c++ - 在同一对象的成员之间传递 ifstream 变量,C++