jquery core: closes #3159. remove() would unbind form.elements instead of a form.
[jquery.git] / src / core.js
index c90f58d..fd19d75 100644 (file)
@@ -266,7 +266,7 @@ jQuery.fn = jQuery.prototype = {
                        return jQuery.find( selector, elem );
                });
 
-               return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ?
+               return this.pushStack( /[^+>] [^+>]/.test( selector ) ?
                        jQuery.unique( elems ) :
                        elems );
        },
@@ -441,7 +441,7 @@ jQuery.fn = jQuery.prototype = {
        },
 
        eq: function( i ) {
-               return this.slice( i, i + 1 );
+               return this.slice( i, +i + 1 );
        },
 
        slice: function() {
@@ -943,12 +943,12 @@ jQuery.extend({
                        context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
 
                jQuery.each(elems, function(i, elem){
+                       if ( typeof elem == 'number' )
+                               elem += '';
+
                        if ( !elem )
                                return;
 
-                       if ( elem.constructor == Number )
-                               elem += '';
-
                        // Convert html string into DOM nodes
                        if ( typeof elem == "string" ) {
                                // Fix "XHTML"-style tags in all browsers
@@ -1309,7 +1309,7 @@ jQuery.each({
        remove: function( selector ) {
                if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) {
                        // Prevent memory leaks
-                       jQuery( "*", this ).add(this).each(function(){
+                       jQuery( "*", this ).add([this]).each(function(){
                                jQuery.event.remove(this);
                                jQuery.removeData(this);
                        });
@@ -1368,4 +1368,4 @@ jQuery.each([ "Height", "Width" ], function(i, name){
 // Helper function used by the dimensions and offset modules
 function num(elem, prop) {
        return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
-}
\ No newline at end of file
+}