Bug Tracker

Changeset 4212

Show
Ignore:
Timestamp:
12/17/07 21:02:05 (9 months ago)
Author:
davidserduke
Message:

Fixed #2070 by adding a test for !nodeType to isArrayLike so DOM elements like SELECT are not considered array-like (even though they really are).

Location:
trunk/jquery
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/jquery/src/core.js

    r4206 r4212  
    353353                selector = jQuery.multiFilter( selector, this ); 
    354354 
     355        var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; 
    355356        return this.filter(function() { 
    356             // check to see if the selector is array-like otherwise assume it is just a DOM element 
    357             return ( selector.length && selector[selector.length - 1] !== undefined ) 
    358                 ? jQuery.inArray( this, selector ) < 0 
    359                 : this != selector; 
     357            return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; 
    360358        }); 
    361359    }, 
  • trunk/jquery/test/unit/core.js

    r4209 r4212  
    10691069     
    10701070    var selects = $("#form select"); 
    1071     isSet( selects.not( selects[1] ), ["select1", "select3"], "filter out DOM element"); 
     1071    isSet( selects.not( selects[1] ), q("select1", "select3"), "filter out DOM element"); 
    10721072}); 
    10731073