2

次のスタイルがあると仮定します(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以降では、これは未定義を返します。a)これはjQuery 1.8のバグですか?b)これを行う別の方法はありますか?

4

1 に答える 1

0

jQueryでもそれを行う方法を見つけることができませんでしたが、プレーンなjavascriptでそれを行う方法を見つけました(IEでのみ機能し、他のブラウザーが失敗しないようにキャッチする必要があります)。

var _someID = document.getElementById('someID');
var someIdGradientFilter = _someID.filters.item('DXImageTransform.Microsoft.gradient');
alert("startColorstr: " + someIdGradientFilter.startColorstr + "\nendColorstr: " + someIdGradientFilter.endColorstr);
于 2012-09-13T22:42:12.113 に答える