.remove("...") removed too much.

This commit is contained in:
John Resig 2007-01-10 16:13:48 +00:00
parent 3d3237c1c0
commit 62303ad5ef

12
src/jquery/jquery.js vendored
View file

@ -1232,13 +1232,15 @@ jQuery.extend({
elem.className += ( elem.className ? " " : "" ) + cur; elem.className += ( elem.className ? " " : "" ) + cur;
}); });
}, },
// internal only, use removeClass("class") // internal only, use removeClass("class")
remove: function( elem, c ){ remove: function( elem, c ){
elem.className = c ? elem.className = c ?
jQuery.grep( elem.className.split(/\s+/), function(cur){ jQuery.grep( elem.className.split(/\s+/), function(cur){
return !jQuery.className.has( c, cur ); return !jQuery.className.has( c, cur );
}).join(' ') : ""; }).join(' ') : "";
}, },
// internal only, use is(".class") // internal only, use is(".class")
has: function( t, c ) { has: function( t, c ) {
t = t.className || t; t = t.className || t;
@ -2032,7 +2034,7 @@ jQuery.each( {
jQuery.className[ jQuery.className.has(this,c) ? "remove" : "add" ](this, c); jQuery.className[ jQuery.className.has(this,c) ? "remove" : "add" ](this, c);
}, },
remove: function(a){ remove: function(a){
if ( !a || jQuery.filter( a, [this] ).r ) if ( !a || jQuery.filter( a, [this] ).r.length )
this.parentNode.removeChild( this ); this.parentNode.removeChild( this );
}, },
empty: function() { empty: function() {