element.css('filter')在jQuery 1.8中返回undefined

时间:2012-09-13 21:12:08

标签: javascript jquery css internet-explorer filter

假设您有以下样式(过滤器或-ms-filter,无关紧要):

<style type="text/css">
    #someID {
        -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)";
    }
</style>

在jQuery 1.7中,以下脚本用于读取IE过滤器属性...

<script type="text/javascript">
    $(function(){
        alert($('#someID').css('filter'));
    });
</script>

现在在jQuery 1.8+中返回undefined。 a)这是jQuery 1.8中的错误吗? b)还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

我也找不到在jQuery中执行此操作的方法,但我找到了一种方法,可以在普通的javascript中使用(只适用于IE,你需要捕获它,以便其他浏览器不会失败)。

var _someID = document.getElementById('someID');
var someIdGradientFilter = _someID.filters.item('DXImageTransform.Microsoft.gradient');
alert("startColorstr: " + someIdGradientFilter.startColorstr + "\nendColorstr: " + someIdGradientFilter.endColorstr);