aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeresig <jeresig@gmail.com>2010-01-07 09:53:16 -0500
committerjeresig <jeresig@gmail.com>2010-01-07 09:53:16 -0500
commit4681216c4bdf25b6b146b3f952917f46079c6ef7 (patch)
tree2ce8bd0f4598285d6eb00b960439533833449640
parent2526e293538c0959597fee60976b4360390d69e0 (diff)
downloadjquery-4681216c4bdf25b6b146b3f952917f46079c6ef7.tar.gz
jquery-4681216c4bdf25b6b146b3f952917f46079c6ef7.zip
Fixed some bugs relating to the setter arg change in val and html. Also optimized the code in val a bit.
-rw-r--r--src/attributes.js29
-rw-r--r--src/manipulation.js2
2 files changed, 13 insertions, 18 deletions
diff --git a/src/attributes.js b/src/attributes.js
index a5a6662c4..1dd70842c 100644
--- a/src/attributes.js
+++ b/src/attributes.js
@@ -195,28 +195,23 @@ jQuery.fn.extend({
return undefined;
}
- // Typecast once if the value is a number
- if ( typeof value === "number" ) {
- value += "";
- }
-
- var val = value;
+ var isFunction = jQuery.isFunction(value);
return this.each(function(i) {
- var self = jQuery(this);
+ var self = jQuery(this), val = value;
- if ( jQuery.isFunction(value) ) {
- val = value.call(this, i, self.val());
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
- // Typecast each time if the value is a Function and the appended
- // value is therefore different each time.
- if ( typeof val === "number" ) {
- val += "";
- }
+ if ( isFunction ) {
+ val = value.call(this, i, self.val());
}
- if ( this.nodeType !== 1 ) {
- return;
+ // Typecast each time if the value is a Function and the appended
+ // value is therefore different each time.
+ if ( typeof val === "number" ) {
+ val += "";
}
if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
@@ -226,7 +221,7 @@ jQuery.fn.extend({
var values = jQuery.makeArray(val);
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 ) {
diff --git a/src/manipulation.js b/src/manipulation.js
index 730dfca5e..081bb5481 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -173,7 +173,7 @@ jQuery.fn.extend({
html: function( value ) {
if ( value === undefined ) {
- return this[0] ?
+ return this[0] && this[0].nodeType === 1 ?
this[0].innerHTML.replace(rinlinejQuery, "") :
null;