offset returns null for window and document elements. fixes #4136 again

This commit is contained in:
Brandon Aaron 2009-04-22 05:29:01 +00:00
parent 6a049246a1
commit 432ea4ca6c

View file

@ -1,7 +1,7 @@
if ( "getBoundingClientRect" in document.documentElement )
jQuery.fn.offset = function() {
var elem = this[0];
if ( !elem ) return null;
if ( !elem || !elem.ownerDocument ) return null;
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
@ -12,7 +12,7 @@ if ( "getBoundingClientRect" in document.documentElement )
else
jQuery.fn.offset = function() {
var elem = this[0];
if ( !elem ) return null;
if ( !elem || !elem.ownerDocument ) return null;
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
jQuery.offset.initialize();