jquery core: closes #2771

$.inArray now makes a === check because of IE.
$.inArray is used in $.fn.index, this is shorter, and breaks the loop when possible.
$.fn.index can receive a jquery object, and the first element is used
This commit is contained in:
Ariel Flesler 2008-05-08 16:14:49 +00:00
parent ca73ba5668
commit 858d56fc8e

View File

@ -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 ) {
@ -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;