Move cases of .replace(re, Function) out from inline (to avoid being redeclared on every use). Fixes #4114.

This commit is contained in:
John Resig 2009-07-19 15:57:43 +00:00
parent 0ac9898d6b
commit f57d93bf18
2 changed files with 13 additions and 13 deletions

View file

@ -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({
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({
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 ];

View file

@ -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({
// 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, "")