2012-09-13 86 views
0

我试图从CSS文件中找到应用于它们的filter样式的所有元素。使用CSS过滤器获取元素

例如

.fourty { 

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

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

    filter:alpha(opacity=60); 
} 

怎么样把这些元素?

回答

1

如何添加class到具有filter的元素?
然后,你可以做到以下几点:

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

或者你可以做以下的,如果你不希望添加的类。

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

我建议你opacity添加到CSS,因为filter是不是跨浏览器。所以你的代码应该如下。

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

demo

1
var foundels = []; 

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