aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core.js2
-rw-r--r--test/unit/core.js7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/core.js b/src/core.js
index bd6d929d5..5a842d5e7 100644
--- a/src/core.js
+++ b/src/core.js
@@ -1064,7 +1064,7 @@ jQuery.extend({
(parseFloat( value ).toString() == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
}
- return elem.filter ?
+ return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() :
"";
}
diff --git a/test/unit/core.js b/test/unit/core.js
index a1ebb1ba4..f40f3b02e 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -380,7 +380,7 @@ test("css(String|Hash)", function() {
});
test("css(String, Object)", function() {
- expect(18);
+ expect(19);
ok( $('#foo').is(':visible'), 'Modifying CSS display: Assert element is visible');
$('#foo').css('display', 'none');
ok( !$('#foo').is(':visible'), 'Modified CSS display: Assert element is hidden');
@@ -404,6 +404,11 @@ test("css(String, Object)", function() {
});
$('#foo').css('opacity', '');
ok( $('#foo').css('opacity') == '1', "Assert opacity is 1 when set to an empty String" );
+ // for #1438, IE throws JS error when filter exists but doesn't have opacity in it
+ if (jQuery.browser.msie) {
+ $('#foo').css("filter", "progid:DXImageTransform.Microsoft.Chroma(color='red');");
+ }
+ equals( $('#foo').css('opacity'), '1', "Assert opacity is 1 when a different filter is set in IE, #1438" );
});
test("jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095)", function () {