aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Sherov <mike.sherov@gmail.com>2011-12-06 16:44:32 -0500
committerDave Methvin <dave.methvin@gmail.com>2011-12-06 16:44:32 -0500
commit6aa4095ed62e3e37dae4c39c00fb627a3b282307 (patch)
treef70656f1f6656e161372ddfcea08a0ac3f177635
parent64df670a81e70fdece1049129523bb2ad1bc2858 (diff)
downloadjquery-6aa4095ed62e3e37dae4c39c00fb627a3b282307.tar.gz
jquery-6aa4095ed62e3e37dae4c39c00fb627a3b282307.zip
Fix #10796. Allow IE<9 to retrieve uncomputed styles.
-rw-r--r--src/css.js6
-rw-r--r--test/unit/css.js23
2 files changed, 26 insertions, 3 deletions
diff --git a/src/css.js b/src/css.js
index b07f5316b..810d18178 100644
--- a/src/css.js
+++ b/src/css.js
@@ -5,7 +5,7 @@ var ralpha = /alpha\([^)]*\)/i,
// fixed for IE9, see #8346
rupper = /([A-Z]|^ms)/g,
rnumpx = /^-?\d+(?:px)?$/i,
- rnum = /^-?\d/,
+ rnumnopx = /^-?\d+(?!px)[^\d\s]+$/i,
rrelNum = /^([\-+])=([\-+.\de]+)/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
@@ -280,7 +280,7 @@ if ( document.documentElement.currentStyle ) {
// Avoid setting ret to empty string here
// so we don't default to auto
- if ( ret === null && style && (uncomputed = style[ name ]) ) {
+ if ( ret == null && style && (uncomputed = style[ name ]) ) {
ret = uncomputed;
}
@@ -289,7 +289,7 @@ if ( document.documentElement.currentStyle ) {
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
- if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
+ if ( rnumnopx.test( ret ) ) {
// Remember the original values
left = style.left;
diff --git a/test/unit/css.js b/test/unit/css.js
index e72b835ac..67f450408 100644
--- a/test/unit/css.js
+++ b/test/unit/css.js
@@ -511,6 +511,29 @@ test("can't get css for disconnected in IE<9, see #10254 and #8388", function()
equal( div.css( "top" ), "10px", "can't get top in IE<9, see #8388" );
});
+test("can't get background-position in IE<9, see #10796", function() {
+ var div = jQuery( "<div/>" ).appendTo( "#qunit-fixture" ),
+ units = [
+ "0 0",
+ "12px 12px",
+ "13px 12em",
+ "12em 13px",
+ "12em center",
+ "+12em center",
+ "12.2em center",
+ "center center",
+ ],
+ l = units.length,
+ i = 0;
+
+ expect( l );
+
+ for( ; i < l; i++ ) {
+ div.css( "background-position", units [ i ] );
+ ok( div.css( "background-position" ), "can't get background-position in IE<9, see #10796" );
+ }
+});
+
test("Do not append px to 'fill-opacity' #9548", 1, function() {
var $div = jQuery("<div>").appendTo("#qunit-fixture");