使用CSS过滤器获取元素

时间:2012-09-13 22:55:54

标签: jquery css

我正在尝试从CSS文件中找到所有已应用filter样式的元素。

例如

.fourty {

    filter:alpha(opacity=40);
}
.fifty {

    filter:alpha(opacity=50);
}
.sixty {

    filter:alpha(opacity=60);
}

我如何捕捉这些元素?

2 个答案:

答案 0 :(得分:1)

var foundels = [];

$(els).each(function(){
    if($(this).css('filter') == 'alpha(opacity=60)')
        foundels.push(this);
});

答案 1 :(得分:1)

如何将class添加到filter的元素中? 然后您可以执行以下操作:

var $elements = $('.yourClass');

如果您不想添加课程,也可以执行以下操作。

var $elements = $('*').filter(function() {
    return $(this).css('filter') != 'auto';
});

我建议你将opacity添加到css中,因为filter不是crossbrowser。所以你的代码应该如下。

var $elements = $('*').filter(function() {
    var $element = $(this);
    return $element.css('filter') != 'auto' || $element.css('opacity') != 1;
});

demo