From d47c0ae4228a59fcf731f626d650bb55c4e34609 Mon Sep 17 00:00:00 2001 From: timmywil Date: Tue, 5 Apr 2011 22:40:12 -0400 Subject: [PATCH] Performance testing: localize val to each block and only set val to value when not a function --- src/attributes.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/attributes.js b/src/attributes.js index c8106e986..9fdb1492d 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -153,15 +153,15 @@ jQuery.fn.extend({ }, val: function( value ) { - var hooks, val, + var hooks, ret, elem = this[0]; if ( !arguments.length ) { if ( elem ) { hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; - if ( hooks && "get" in hooks && (val = hooks.get( elem )) !== undefined ) { - return val; + if ( hooks && "get" in hooks && (ret = hooks.get( elem )) !== undefined ) { + return ret; } return (elem.value || "").replace(rreturn, ""); @@ -173,15 +173,16 @@ jQuery.fn.extend({ var isFunction = jQuery.isFunction( value ); return this.each(function( i ) { - var self = jQuery(this); + var self = jQuery(this), val; if ( this.nodeType !== 1 ) { return; } - val = value; if ( isFunction ) { val = value.call( this, i, self.val() ); + } else { + val = value; } // Treat null/undefined as ""; convert numbers to string