X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=a6d4c5f74b2a8ee97bbd51fb3ccf11d6278a1737;hb=6aa4200a8cefa87bb4ec100c0b0369517e35ed6b;hp=9752fb16292f7fcf6f14b2aa951f76f9e529de03;hpb=a584f82aef3c20e11adeecc8513920e3d2a2ae2f;p=jquery.git diff --git a/src/core.js b/src/core.js index 9752fb1..a6d4c5f 100644 --- a/src/core.js +++ b/src/core.js @@ -140,12 +140,10 @@ jQuery.fn = jQuery.prototype = { var ret = -1; // Locate the position of the desired element - this.each(function(i){ - if ( this == elem ) - ret = i; - }); - - return ret; + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem && elem.jquery ? elem[0] : elem + , this ); }, attr: function( name, value, type ) { @@ -339,12 +337,12 @@ jQuery.fn = jQuery.prototype = { }, add: function( selector ) { - return !selector ? this : this.pushStack( jQuery.merge( + return this.pushStack( jQuery.unique( jQuery.merge( this.get(), - selector.constructor == String ? - jQuery( selector ).get() : - selector.length != undefined && (!selector.nodeName || jQuery.nodeName(selector, "form")) ? - selector : [selector] ) ); + typeof selector == 'string' ? + jQuery( selector ) : + jQuery.makeArray( selector ) + ))); }, is: function( selector ) { @@ -1111,8 +1109,8 @@ jQuery.extend({ if( array != null ){ var i = array.length; - //the window, forms, strings and functions also have 'length' - if( i == null || array.split || array.setInterval || array.call || array.elements ) + //the window, strings and functions also have 'length' + if( i == null || array.split || array.setInterval || array.call ) ret[0] = array; else while( i ) @@ -1124,7 +1122,8 @@ jQuery.extend({ inArray: function( elem, array ) { for ( var i = 0, length = array.length; i < length; i++ ) - if ( array[ i ] == elem ) + // Use === because on IE, window == document + if ( array[ i ] === elem ) return i; return -1;