X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore.js;h=960af446f25dae7c20bb872a427f53c23e9215fa;hb=537d7ca86902df1d2b61155d2822c7552030d846;hp=d059564fe02aa19cf2938319c7ba8bda931307f8;hpb=3dabd7ec301770a2a6bb8457c96d630d42376719;p=jquery.git diff --git a/src/core.js b/src/core.js index d059564..960af44 100644 --- a/src/core.js +++ b/src/core.js @@ -282,7 +282,7 @@ jQuery.fn = jQuery.prototype = { this.get(), t.constructor == String ? jQuery(t).get() : - t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ? + t.length != undefined && (!t.nodeName || jQuery.nodeName(t, "form")) ? t : [t] ) ); }, @@ -1114,16 +1114,27 @@ jQuery.each( [ "Height", "Width" ], function(i,name){ var n = name.toLowerCase(); jQuery.fn[ n ] = function(h) { + // Get window width or height return this[0] == window ? + // Opera reports document.body.client[Width/Height] properly in both quirks and standards + jQuery.browser.opera && document.body["client" + name] || + + // Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths) jQuery.browser.safari && self["inner" + name] || - jQuery.boxModel && Math.max(document.documentElement["client" + name], document.body["client" + name]) || - document.body["client" + name] : + + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + jQuery.boxModel && document.documentElement["client" + name] || document.body["client" + name] : + // Get document width or height this[0] == document ? + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater (Mozilla reports scrollWidth the same as offsetWidth) Math.max( document.body["scroll" + name], document.body["offset" + name] ) : + // Get or set width or height on the element h == undefined ? + // Get width or height on the element ( this.length ? jQuery.css( this[0], n ) : null ) : + // Set the width or height on the element (default to pixels if value is unitless) this.css( n, h.constructor == String ? h : h + "px" ); }; });