IE9: получение значения свойства «MS Filter» с помощью jquery - PullRequest
2 голосов
/ 01 марта 2012

Я пытаюсь прочитать значение свойства CSS «MS Filter». Это мой код:

<!--[if IE]> 
<script type="text/javascript">
$(document).ready(function () {
var FilterValue = $(".imgshow-prop-display").css("-ms-filter");
alert("MS- Filter value: " + FilterValue );
});
</script>
<![endif]-->

Это часть файла CSS, которая содержит определение класса imgshow-prop-display.

.imgshow-prop-display
{
  background: transparent !important;    
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D90EE90, endColorstr=#4D90EE90);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D90EE90, endColorstr=#4D90EE90)";    
}

Я использую IE 9 для проверки этого. В предупреждении отображается значение «undefined». Я понятия не имею, почему это происходит. Хотя я могу прочитать значение свойства filter.

Ответы [ 2 ]

1 голос
/ 31 мая 2013

Я должен был сделать это для IE8 и должен был получить отдельные свойства из фильтра:

// Get the non-jQuery native element.
var elem = $('.imgshow-prop-display').get(0);

// Get the properties.
var startColor = elem.filters.item("DXImageTransform.Microsoft.gradient").startColorstr;
var endColor = elem.filters.item("DXImageTransform.Microsoft.gradient").endColorstr;
0 голосов
/ 01 марта 2012

Может быть, просто:

var FilterValue = $('.imgshow-prop-display').css("-ms-filter");

Обратите внимание на тире >> -ms-filter

...