Skip to content
Permalink
Browse files

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
  • Loading branch information
flesler committed May 8, 2008
1 parent ca73ba5 commit 858d56fc8e26a686cb19d1e35b0c2e8953987e49
Showing with 6 additions and 7 deletions.
  1. +6 −7 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 ) {
@@ -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;

0 comments on commit 858d56f

Please sign in to comment.
You can’t perform that action at this time.