jquery core: Fixed a global var leak introduced by me on a recent commit.
[jquery.git] / src / core.js
index 0e02436..3900a0a 100644 (file)
@@ -1016,12 +1016,14 @@ jQuery.extend({
                
                if ( fragment ) {
                        for ( var i = 0; ret[i]; i++ ) {
-                               if ( jQuery.nodeName( ret[i], "script" ) ) {
-                                       ret[i].parentNode.removeChild( ret[i] );
+                               var node = ret[i];
+                               if ( jQuery.nodeName( node, "script" ) ) {
+                                       if( node.parentNode )
+                                               node.parentNode.removeChild( node );
                                } else {
-                                       if ( ret[i].nodeType === 1 )
-                                               ret = jQuery.merge( ret, ret[i].getElementsByTagName("script"));
-                                       fragment.appendChild( ret[i] );
+                                       if ( node.nodeType === 1 )
+                                               ret = jQuery.merge( ret, node.getElementsByTagName("script"));
+                                       fragment.appendChild( node );
                                }
                        }
                        
@@ -1284,8 +1286,10 @@ jQuery.each({
                jQuery.className.remove( this, classNames );
        },
 
-       toggleClass: function( classNames ) {
-               jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" : "add" ]( this, classNames );
+       toggleClass: function( classNames, state ) {
+               if( typeof state !== "boolean" )
+                       state = !jQuery.className.has( this, classNames );
+               jQuery.className[ state ? "add" : "remove" ]( this, classNames );
        },
 
        remove: function( selector ) {