Commit 4681216c authored by jeresig's avatar jeresig

Fixed some bugs relating to the setter arg change in val and html. Also...

Fixed some bugs relating to the setter arg change in val and html. Also optimized the code in val a bit.
parent 2526e293
...@@ -195,28 +195,23 @@ jQuery.fn.extend({ ...@@ -195,28 +195,23 @@ jQuery.fn.extend({
return undefined; return undefined;
} }
// Typecast once if the value is a number var isFunction = jQuery.isFunction(value);
if ( typeof value === "number" ) {
value += "";
}
var val = value;
return this.each(function(i) { return this.each(function(i) {
var self = jQuery(this); var self = jQuery(this), val = value;
if ( jQuery.isFunction(value) ) { if ( this.nodeType !== 1 ) {
val = value.call(this, i, self.val()); return;
}
// Typecast each time if the value is a Function and the appended if ( isFunction ) {
// value is therefore different each time. val = value.call(this, i, self.val());
if ( typeof val === "number" ) {
val += "";
}
} }
if ( this.nodeType !== 1 ) { // Typecast each time if the value is a Function and the appended
return; // value is therefore different each time.
if ( typeof val === "number" ) {
val += "";
} }
if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
...@@ -226,7 +221,7 @@ jQuery.fn.extend({ ...@@ -226,7 +221,7 @@ jQuery.fn.extend({
var values = jQuery.makeArray(val); var values = jQuery.makeArray(val);
jQuery( "option", this ).each(function() { jQuery( "option", this ).each(function() {
this.selected = jQuery.inArray( self.val(), values ) >= 0; this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
}); });
if ( !values.length ) { if ( !values.length ) {
......
...@@ -173,7 +173,7 @@ jQuery.fn.extend({ ...@@ -173,7 +173,7 @@ jQuery.fn.extend({
html: function( value ) { html: function( value ) {
if ( value === undefined ) { if ( value === undefined ) {
return this[0] ? return this[0] && this[0].nodeType === 1 ?
this[0].innerHTML.replace(rinlinejQuery, "") : this[0].innerHTML.replace(rinlinejQuery, "") :
null; null;
......
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