2012-09-13 2 views
2

당신이 다음 스타일 (필터 또는 -ms 필터, 그것은 중요하지 않습니다)가 가정 jQuery를 정의되지 않은 반환 jQuery를 1.7 다음 스크립트에서element.css ('필터')는 1.8

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

IE 필터 속성을 읽으려고 노력했습니다 ...

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

이제 jQuery 1.8+에서이 값은 정의되지 않은 값을 반환합니다. a) jQuery 1.8의 버그입니까? b) 다른 방법이 있습니까?

+1

jquery 1.7.2 에서조차 http://jsfiddle.net/MbULY/가 작동하지 않는 것 같습니다. –

+0

그게 전부입니다, 내가 말하고자했던 것은 "none"이고 "undefined"가 아니라는 것입니다. – Krycke

+0

IE를 제외하고는 다른 모든 브라우저에서 none이라고 말해야합니다. IE에서는 속성을 반환해야합니다. 사실 jQuery 1.8+와 IE8에서 여전히 작동하므로 jQuery 코어에 버그를 제출했습니다. – seyDoggy

답변

0

jQuery에서도 그 방법을 찾지 못했습니다. 일반 자바 스크립트에서이를 수행하는 방법을 발견했습니다 (IE에서만 작동하므로 다른 브라우저에서 오류가 발생하지 않도록 catch해야합니다) .

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

고마워, 이거 잘 할거야. – seyDoggy