jQuery - 从对象循环中排除元素

时间:2016-08-29 21:59:25

标签: javascript jquery css

所以我使用这段代码循环遍历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; “这可能吗?

提前谢谢。

4 个答案:

答案 0 :(得分:2)

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

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

对于具有内联样式的元素,无论是否显示,都可以继续使用。

Documentation

答案 1 :(得分:0)

使用此

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);

答案 2 :(得分:0)

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

答案 3 :(得分:0)

为什么不使用选择器

$('.panel-main:visible')

只会返回可见的项目