MCPcopy Index your code
hub / github.com/JsAaron/jQuery / winnow

Function winnow

1.7/traversing.js:295–327  ·  view source on GitHub ↗
( elements, qualifier, keep )

Source from the content-addressed store, hash-verified

293
294// Implement the identical functionality for filter and not
295function winnow( elements, qualifier, keep ) {
296
297 // Can't pass null or undefined to indexOf in Firefox 4
298 // Set to 0 to skip string check
299 qualifier = qualifier || 0;
300
301 if ( jQuery.isFunction( qualifier ) ) {
302 return jQuery.grep(elements, function( elem, i ) {
303 var retVal = !!qualifier.call( elem, i, elem );
304 return retVal === keep;
305 });
306
307 } else if ( qualifier.nodeType ) {
308 return jQuery.grep(elements, function( elem, i ) {
309 return ( elem === qualifier ) === keep;
310 });
311
312 } else if ( typeof qualifier === "string" ) {
313 var filtered = jQuery.grep(elements, function( elem ) {
314 return elem.nodeType === 1;
315 });
316
317 if ( isSimple.test( qualifier ) ) {
318 return jQuery.filter(qualifier, filtered, !keep);
319 } else {
320 qualifier = jQuery.filter( qualifier, filtered );
321 }
322 }
323
324 return jQuery.grep(elements, function( elem, i ) {
325 return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
326 });
327}
328
329})( jQuery );

Callers 1

traversing.jsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected