scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 124  →  ?path2? @ 125
/bower_components/jquery/src/traversing/findFilter.js
@@ -1,4 +1,4 @@
define( [
define([
"../core",
"../var/indexOf",
"./var/rneedsContext",
@@ -5,8 +5,6 @@
"../selector"
], function( jQuery, indexOf, rneedsContext ) {
 
"use strict";
 
var risSimple = /^.[^:#\[\.,]*$/;
 
// Implement the identical functionality for filter and not
@@ -13,34 +11,30 @@
function winnow( elements, qualifier, not ) {
if ( jQuery.isFunction( qualifier ) ) {
return jQuery.grep( elements, function( elem, i ) {
/* jshint -W018 */
return !!qualifier.call( elem, i, elem ) !== not;
} );
});
 
}
 
// Single element
if ( qualifier.nodeType ) {
return jQuery.grep( elements, function( elem ) {
return ( elem === qualifier ) !== not;
} );
}
});
 
// Arraylike of elements (jQuery, arguments, Array)
if ( typeof qualifier !== "string" ) {
return jQuery.grep( elements, function( elem ) {
return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
} );
}
 
// Simple selector that can be filtered directly, removing non-Elements
if ( risSimple.test( qualifier ) ) {
return jQuery.filter( qualifier, elements, not );
if ( typeof qualifier === "string" ) {
if ( risSimple.test( qualifier ) ) {
return jQuery.filter( qualifier, elements, not );
}
 
qualifier = jQuery.filter( qualifier, elements );
}
 
// Complex selector, compare the two sets, removing non-Elements
qualifier = jQuery.filter( qualifier, elements );
return jQuery.grep( elements, function( elem ) {
return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
} );
return ( indexOf.call( qualifier, elem ) >= 0 ) !== not;
});
}
 
jQuery.filter = function( expr, elems, not ) {
@@ -50,44 +44,44 @@
expr = ":not(" + expr + ")";
}
 
if ( elems.length === 1 && elem.nodeType === 1 ) {
return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
}
 
return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
return elem.nodeType === 1;
} ) );
return elems.length === 1 && elem.nodeType === 1 ?
jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
return elem.nodeType === 1;
}));
};
 
jQuery.fn.extend( {
jQuery.fn.extend({
find: function( selector ) {
var i, ret,
var i,
len = this.length,
ret = [],
self = this;
 
if ( typeof selector !== "string" ) {
return this.pushStack( jQuery( selector ).filter( function() {
return this.pushStack( jQuery( selector ).filter(function() {
for ( i = 0; i < len; i++ ) {
if ( jQuery.contains( self[ i ], this ) ) {
return true;
}
}
} ) );
}) );
}
 
ret = this.pushStack( [] );
 
for ( i = 0; i < len; i++ ) {
jQuery.find( selector, self[ i ], ret );
}
 
return len > 1 ? jQuery.uniqueSort( ret ) : ret;
// Needed because $( selector, context ) becomes $( context ).find( selector )
ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
ret.selector = this.selector ? this.selector + " " + selector : selector;
return ret;
},
filter: function( selector ) {
return this.pushStack( winnow( this, selector || [], false ) );
return this.pushStack( winnow(this, selector || [], false) );
},
not: function( selector ) {
return this.pushStack( winnow( this, selector || [], true ) );
return this.pushStack( winnow(this, selector || [], true) );
},
is: function( selector ) {
return !!winnow(
@@ -101,6 +95,6 @@
false
).length;
}
} );
});
 
} );
});