Commit f57d93bf authored by John Resig's avatar John Resig

Move cases of .replace(re, Function) out from inline (to avoid being...

Move cases of .replace(re, Function) out from inline (to avoid being redeclared on every use). Fixes #4114.
parent 0ac9898d
...@@ -3,7 +3,10 @@ var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, ...@@ -3,7 +3,10 @@ var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
// cache check for defaultView.getComputedStyle // cache check for defaultView.getComputedStyle
getComputedStyle = document.defaultView && document.defaultView.getComputedStyle, getComputedStyle = document.defaultView && document.defaultView.getComputedStyle,
// normalize float css property // normalize float css property
styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat"; styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat",
fcamelCase = function(all, letter){
return letter.toUpperCase();
};
jQuery.fn.css = function( name, value ) { jQuery.fn.css = function( name, value ) {
var options = name, isFunction = jQuery.isFunction( value ); var options = name, isFunction = jQuery.isFunction( value );
...@@ -83,9 +86,7 @@ jQuery.extend({ ...@@ -83,9 +86,7 @@ jQuery.extend({
if ( /float/i.test( name ) ) if ( /float/i.test( name ) )
name = styleFloat; name = styleFloat;
name = name.replace(/-([a-z])/ig, function(all, letter){ name = name.replace(/-([a-z])/ig, fcamelCase);
return letter.toUpperCase();
});
if ( set ) if ( set )
style[ name ] = value; style[ name ] = value;
...@@ -163,9 +164,7 @@ jQuery.extend({ ...@@ -163,9 +164,7 @@ jQuery.extend({
ret = "1"; ret = "1";
} else if ( elem.currentStyle ) { } else if ( elem.currentStyle ) {
var camelCase = name.replace(/\-(\w)/g, function(all, letter){ var camelCase = name.replace(/\-(\w)/g, fcamelCase);
return letter.toUpperCase();
});
ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
......
...@@ -4,7 +4,12 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, ...@@ -4,7 +4,12 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
rxhtmlTag = /(<(\w+)[^>]*?)\/>/g, rxhtmlTag = /(<(\w+)[^>]*?)\/>/g,
rselfClosing = /^(?:abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i, rselfClosing = /^(?:abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i,
rinsideTable = /^<(thead|tbody|tfoot|colg|cap)/, rinsideTable = /^<(thead|tbody|tfoot|colg|cap)/,
rtbody = /<tbody/i; rtbody = /<tbody/i,
fcloseTag = function(all, front, tag){
return rselfClosing.test(tag) ?
all :
front + "></" + tag + ">";
});
jQuery.fn.extend({ jQuery.fn.extend({
text: function( text ) { text: function( text ) {
...@@ -303,11 +308,7 @@ jQuery.extend({ ...@@ -303,11 +308,7 @@ jQuery.extend({
// Convert html string into DOM nodes // Convert html string into DOM nodes
if ( typeof elem === "string" ) { if ( typeof elem === "string" ) {
// Fix "XHTML"-style tags in all browsers // Fix "XHTML"-style tags in all browsers
elem = elem.replace(rxhtmlTag, function(all, front, tag){ elem = elem.replace(rxhtmlTag, fcloseTag);
return rselfClosing.test(tag) ?
all :
front + "></" + tag + ">";
});
// Trim whitespace, otherwise indexOf won't work as expected // Trim whitespace, otherwise indexOf won't work as expected
var tags = elem.replace(rleadingWhitespace, "") var tags = elem.replace(rleadingWhitespace, "")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment