Merge branch 'master' of git@github.com:jquery/jquery

This commit is contained in:
John Resig 2009-12-09 20:59:12 -08:00
commit b3cee01820
4 changed files with 93 additions and 28 deletions

View file

@ -4,6 +4,12 @@ jQuery.fn.extend({
},
addClass: function( value ) {
if(jQuery.isFunction(value)) {
return this.each(function() {
jQuery(this).addClass( value.call(this) );
});
}
if ( value && typeof value === "string" ) {
var classNames = (value || "").split(/\s+/);
@ -29,6 +35,12 @@ jQuery.fn.extend({
},
removeClass: function( value ) {
if(jQuery.isFunction(value)) {
return this.each(function() {
jQuery(this).removeClass( value.call(this) );
});
}
if ( (value && typeof value === "string") || value === undefined ) {
var classNames = (value || "").split(/\s+/);
@ -113,7 +125,7 @@ jQuery.fn.extend({
// Typecast once if the value is a number
if ( typeof value === "number" ) {
value += '';
}
}
var val = value;
return this.each(function(){
@ -122,10 +134,10 @@ jQuery.fn.extend({
// Typecast each time if the value is a Function and the appended
// value is therefore different each time.
if( typeof val === "number" ) {
val += '';
val += '';
}
}
if ( this.nodeType != 1 ) {
return;
}
@ -158,6 +170,13 @@ jQuery.each({
},
toggleClass: function( classNames, state ) {
if( jQuery.isFunction(classNames) ) {
return this.each(function() {
console.log(this);
jQuery(this).toggleClass( classNames.call(this), state );
});
}
var type = typeof classNames;
if ( type === "string" ) {
// toggle individual class names
@ -178,7 +197,11 @@ jQuery.each({
}
}
}, function(name, fn){
jQuery.fn[ name ] = function(){
jQuery.fn[ name ] = function(val, state){
if( jQuery.isFunction( val ) ) {
return this.each(function() { jQuery(this)[ name ]( val.call(this), state ); });
}
return this.each( fn, arguments );
};
});
@ -192,7 +215,7 @@ jQuery.extend({
if ( name in jQuery.fn && name !== "attr" ) {
return jQuery(elem)[name](value);
}
var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
// Whether we are setting (or getting)
set = value !== undefined;

View file

@ -32,6 +32,12 @@ if ( !jQuery.support.htmlSerialize ) {
jQuery.fn.extend({
text: function( text ) {
if(jQuery.isFunction(text)) {
return this.each(function() {
return jQuery(this).text( text.call(this) );
});
}
if ( typeof text !== "object" && text !== undefined ) {
return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
}
@ -87,7 +93,7 @@ jQuery.fn.extend({
}
}).end();
},
append: function() {
return this.domManip(arguments, true, function(elem){
if ( this.nodeType === 1 ) {