Fix for #1162
[jquery.git] / src / jquery / jquery.js
index 118b414..d9292ed 100644 (file)
@@ -176,7 +176,7 @@ jQuery.fn = jQuery.prototype = {
 
                        // HANDLE: $(arraylike)
                        // Watch for when an array-like object is passed as the selector
-                       (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||
+                       (a.jquery || a.length && a != window && (!a.nodeType || (jQuery.browser.msie && a.elements)) && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||
 
                        // HANDLE: $(*)
                        [ a ] );
@@ -1349,7 +1349,7 @@ jQuery.extend({
 
                // internal only, use removeClass("class")
                remove: function( elem, c ){
-                       elem.className = c ?
+                       elem.className = c != undefined ?
                                jQuery.grep( elem.className.split(/\s+/), function(cur){
                                        return !jQuery.className.has( c, cur ); 
                                }).join(" ") : "";
@@ -1523,7 +1523,7 @@ jQuery.extend({
                        if ( 0 === arg.length && !jQuery(arg).is("form, select") )
                                return;
 
-                       if ( arg[0] == undefined || jQuery(arg).is("form, select") )
+                       if ( arg[0] == undefined || jQuery.nodeName(arg, "form") || arg.options )
                                r.push( arg );
                        else
                                r = jQuery.merge( r, arg );