return null when no matched elements exist for offset and position
This commit is contained in:
parent
36b4a9ba33
commit
a37cccc882
|
@ -1,7 +1,7 @@
|
||||||
if ( "getBoundingClientRect" in document.documentElement )
|
if ( "getBoundingClientRect" in document.documentElement )
|
||||||
jQuery.fn.offset = function() {
|
jQuery.fn.offset = function() {
|
||||||
var elem = this[0];
|
var elem = this[0];
|
||||||
if ( !elem ) return { top: 0, left: 0 };
|
if ( !elem ) return null;
|
||||||
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
|
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
|
||||||
var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
|
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,
|
clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
|
||||||
|
@ -12,7 +12,7 @@ if ( "getBoundingClientRect" in document.documentElement )
|
||||||
else
|
else
|
||||||
jQuery.fn.offset = function() {
|
jQuery.fn.offset = function() {
|
||||||
var elem = this[0];
|
var elem = this[0];
|
||||||
if ( !elem ) return { top: 0, left: 0 };
|
if ( !elem ) return null;
|
||||||
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
|
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
|
||||||
jQuery.offset.initialized || jQuery.offset.initialize();
|
jQuery.offset.initialized || jQuery.offset.initialize();
|
||||||
|
|
||||||
|
@ -88,11 +88,12 @@ jQuery.offset = {
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
position: function() {
|
position: function() {
|
||||||
var left = 0, top = 0, results;
|
if ( !this[0] ) return null;
|
||||||
|
|
||||||
|
var left = 0, top = 0, results,
|
||||||
|
|
||||||
if ( this[0] ) {
|
|
||||||
// Get *real* offsetParent
|
// Get *real* offsetParent
|
||||||
var offsetParent = this.offsetParent(),
|
offsetParent = this.offsetParent(),
|
||||||
|
|
||||||
// Get correct offsets
|
// Get correct offsets
|
||||||
offset = this.offset(),
|
offset = this.offset(),
|
||||||
|
@ -113,7 +114,6 @@ jQuery.fn.extend({
|
||||||
top: offset.top - parentOffset.top,
|
top: offset.top - parentOffset.top,
|
||||||
left: offset.left - parentOffset.left
|
left: offset.left - parentOffset.left
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue