Bug Tracker

Ticket #1854: 1854.diff

File 1854.diff, 1.3 KB (added by davidserduke, 13 years ago)
  • src/core.js

     
    319319        },
    320320
    321321        not: function( selector ) {
    322                 return this.pushStack(
    323                         selector.constructor == String &&
    324                         jQuery.multiFilter( selector, this, true ) ||
    325 
    326                         jQuery.grep(this, function(elem) {
    327                                 return selector.constructor == Array || selector.jquery ?
    328                                         jQuery.inArray( elem, selector ) < 0 :
    329                                         elem != selector;
    330                         }) );
     322                if (selector.constructor == String)
     323                        return this.not(jQuery(selector));
     324                else
     325                        return this.pushStack(
     326                                jQuery.grep(this, function(elem) {
     327                                        return selector.constructor == Array || selector.jquery ?
     328                                                jQuery.inArray( elem, selector ) < 0 :
     329                                                elem != selector;
     330                                }) );
    331331        },
    332332
    333333        add: function( selector ) {
  • src/selector.js

     
    320320                        // :not() is a special case that can be optimized by
    321321                        // keeping it out of the expression list
    322322                        if ( m[1] == ":" && m[2] == "not" )
    323                                 r = jQuery.filter(m[3], r, true).r;
     323                                r = jQuery(r).not(m[3]).get();
    324324
    325325                        // We can get a big speed boost by filtering by class here
    326326                        else if ( m[1] == "." )