从对象循环中排除元素

jQuery - Exclude elements from object loop

本文关键字:排除 元素 循环 对象      更新时间:2023-09-26

因此,我使用以下代码循环遍历DOM并找到所有匹配的元素,然后向元素添加一个类:

var timeDif = 0;
setTimeout(function(){
    $('.panel-main').each(function () {
      var $el = $(this);
      setTimeout(function () {
          $el.addClass('boingInUp');
      },200 * timeDif);
      timeDif++;
    });
}, 1000);

我需要知道如何做的是排除任何元素的内联样式为" style="display: none;"。这可能吗?

提前感谢。

根据您的完整用例,您应该使用jQuery可见性选择器。

$('.panel-main:visible').each(function() {
  ...
}

对于具有内联样式的元素,无论你是否显示它们,这都将继续起作用。

文档

使用

var timeDif = 0;
setTimeout(function(){
    $('.panel-main').each(function () {
      var $el = $(this);
              if($el.is(':visible')){
          setTimeout(function () {
              $el.addClass('boingInUp');
          },200 * timeDif);
              }
      timeDif++;
        });
}, 1000);
...
  $('.panel-main:visible').each(function () {
    ...
  }

为什么不直接使用选择器

$('.panel-main:visible')

只返回可见项