Skip to content
Permalink
Browse files

Make sure that the correct height/width of the elements is retreived.…

… Fixes #7225.
  • Loading branch information...
jeresig committed Oct 22, 2010
1 parent d9a3e00 commit 7e02cee5ff8b5e9117366d7b43af7b5794f0f258
Showing with 21 additions and 11 deletions.
  1. +14 −2 src/css.js
  2. +7 −9 test/unit/css.js
@@ -169,11 +169,23 @@ jQuery.each(["height", "width"], function( i, name ) {
});
}

if ( val < 0 || val === 0 && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
if ( val < 0 ) {
return elem.style[ name ] || "0px";
}

return val + "px";
if ( val === 0 ) {
val = curCSS( elem, name, name );

if ( val != null ) {
return val;
}
}

if ( val < 0 || val == null ) {
return elem.style[ name ];
}

return typeof val === "string" ? val : val + "px";
}
},

@@ -1,7 +1,7 @@
module("css");

test("css(String|Hash)", function() {
expect(42);
expect(41);

equals( jQuery('#main').css("display"), 'block', 'Check for css property "display"');

@@ -13,21 +13,19 @@ test("css(String|Hash)", function() {

var div = jQuery( "<div>" );

equals( div.css("width"), "0px", "Width on disconnected node." );
equals( div.css("height"), "0px", "Height on disconnected node." );
equals( div.css("width") || "auto", "auto", "Width on disconnected node." );
equals( div.css("height") || "auto", "auto", "Height on disconnected node." );

div.css({ width: 4, height: 4 });

equals( div.css("width"), "4px", "Width on disconnected node." );
equals( div.css("height"), "4px", "Height on disconnected node." );

var div2 = jQuery( "<div style='display:none;'><input type='text'/><textarea/></div>").appendTo("body");
var div2 = jQuery( "<div style='display:none;'><input type='text' style='height:20px;'/><textarea style='height:20px;'/><div style='height:20px;'></div></div>").appendTo("body");

equals( div2.find("input").css("width"), "0px", "Width on hidden input." );
equals( div2.find("input").css("height"), "0px", "Height on hidden input." );

equals( div2.find("textarea").css("width"), "0px", "Width on hidden textarea." );
equals( div2.find("textarea").css("height"), "0px", "Height on hidden textarea." );
equals( div2.find("input").css("height"), "20px", "Height on hidden input." );
equals( div2.find("textarea").css("height"), "20px", "Height on hidden textarea." );
equals( div2.find("div").css("height"), "20px", "Height on hidden textarea." );

div2.remove();

0 comments on commit 7e02cee

Please sign in to comment.
You can’t perform that action at this time.