2012-09-13 81 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); 
});