]> source.dussan.org Git - jquery.git/commitdiff
Fix #12537, element.css('filter') returns undefined in IE9. Close gh-942.
authorMike Sherov <mike.sherov@gmail.com>
Sun, 30 Sep 2012 21:41:42 +0000 (17:41 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Mon, 1 Oct 2012 02:14:49 +0000 (22:14 -0400)
src/css.js
test/unit/css.js
test/unit/effects.js

index 9e72073eb1149ef10107e26818d30433e20289ab..403516e0feb990a3c8f54193f5c7af52b76abfb3 100644 (file)
@@ -290,7 +290,9 @@ if ( window.getComputedStyle ) {
 
                if ( computed ) {
 
-                       ret = computed[ name ];
+                       // getPropertyValue is only needed for .css('filter') in IE9, see #12537
+                       ret = computed.getPropertyValue( name ) || computed[ name ];
+
                        if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
                                ret = jQuery.style( elem, name );
                        }
index 30ce95fc9c35f6a4e14a48b2499a6299f474decd..be8597a622b3270e790c40afda66f23961f8be0d 100644 (file)
@@ -782,6 +782,13 @@ test("certain css values of 'normal' should be convertable to a number, see #862
        ok( jQuery.isNumeric( parseFloat( el.css("fontWeight") ) ), "css('fontWeight') not convertable to number, see #8627" );
 });
 
+// only run this test in IE9
+if ( document.documentMode === 9 ) {
+       test( ".css('filter') returns a string in IE9, see #12537", 1, function() {
+               equal( jQuery("<div style='-ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)\";'></div>").css("filter"), "progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)", "IE9 returns the correct value from css('filter')." );
+       });
+}
+
 test( "cssHooks - expand", function() {
        expect( 15 );
        var result,
index 70b18146146a27313ec71a498c60cc4175f6c0d8..a11af646abcc42ba3d41555768dc512b288306b1 100644 (file)
@@ -1689,7 +1689,7 @@ asyncTest( "non-px animation handles non-numeric start (#11971)", 2, function()
        var foo = jQuery("#foo"),
                initial = foo.css("backgroundPositionX");
 
-       if ( initial == null ) {
+       if ( !initial ) {
                expect(1);
                ok( true, "Style property not understood" );
                start();