diff options
author | jeresig <jeresig@gmail.com> | 2010-09-22 09:16:28 -0400 |
---|---|---|
committer | jeresig <jeresig@gmail.com> | 2010-09-22 09:16:28 -0400 |
commit | 9dc6e0c572b9c809a3a4c123071d96d48a01dd1c (patch) | |
tree | 70bb5a22bee73b049d07469a86479d64e185ac43 /src/offset.js | |
parent | 19b5d9e874bbd97d03d9e0561a70711e2bf91fcb (diff) | |
download | jquery-9dc6e0c572b9c809a3a4c123071d96d48a01dd1c.tar.gz jquery-9dc6e0c572b9c809a3a4c123071d96d48a01dd1c.zip |
Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062.
Diffstat (limited to 'src/offset.js')
-rw-r--r-- | src/offset.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/offset.js b/src/offset.js index c472f9852..a3776c201 100644 --- a/src/offset.js +++ b/src/offset.js @@ -1,5 +1,8 @@ (function( jQuery ) { +var rtable = /^t(?:able|d|h)$/i, + rroot = /^(?:body|html)$/i; + if ( "getBoundingClientRect" in document.documentElement ) { jQuery.fn.offset = function( options ) { var elem = this[0]; @@ -72,7 +75,7 @@ if ( "getBoundingClientRect" in document.documentElement ) { top += elem.offsetTop; left += elem.offsetLeft; - if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) { + if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) { top += parseFloat( computedStyle.borderTopWidth ) || 0; left += parseFloat( computedStyle.borderLeftWidth ) || 0; } @@ -207,7 +210,7 @@ jQuery.fn.extend({ // Get correct offsets offset = this.offset(), - parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); // Subtract element margins // note: when an element has margin: auto the offsetLeft and marginLeft @@ -229,7 +232,7 @@ jQuery.fn.extend({ offsetParent: function() { return this.map(function() { var offsetParent = this.offsetParent || document.body; - while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { offsetParent = offsetParent.offsetParent; } return offsetParent; |