Make sure that non-px values aren't manipulated before input to height/width.
[jquery.git] / src / css.js
index 8ea815c..69c4452 100644 (file)
@@ -64,7 +64,7 @@ jQuery.extend({
                }
 
                // Make sure that we're working with the right name
-               var ret, origName = name.replace( rdashAlpha, fcamelCase ),
+               var ret, origName = jQuery.camelCase( name ),
                        style = elem.style, hooks = jQuery.cssHooks[ origName ];
 
                name = jQuery.cssProps[ origName ] || origName;
@@ -94,7 +94,7 @@ jQuery.extend({
 
        css: function( elem, name, extra ) {
                // Make sure that we're working with the right name
-               var ret, origName = name.replace( rdashAlpha, fcamelCase ),
+               var ret, origName = jQuery.camelCase( name ),
                        hooks = jQuery.cssHooks[ origName ];
 
                name = jQuery.cssProps[ origName ] || origName;
@@ -125,6 +125,10 @@ jQuery.extend({
                for ( name in options ) {
                        elem.style[ name ] = old[ name ];
                }
+       },
+
+       camelCase: function( string ) {
+               return string.replace( rdashAlpha, fcamelCase );
        }
 });
 
@@ -151,7 +155,7 @@ jQuery.each(["height", "width"], function( i, name ) {
                },
 
                set: function( elem, value ) {
-                       if ( value !== "" ) {
+                       if ( rnumpx.test( value ) ) {
                                // ignore negative width and height values #1599
                                value = parseFloat(value);