function(fn) {
			if (!_.isFunction(fn)) {
				var elemName = fn.toLowerCase();
				fn = function(item) {return item.name().toLowerCase() == elemName;};
			}
				
			var result = [];
			_.each(this.children, function(child) {
				if (fn(child))
					result.push(child);
				
				result = result.concat(child.findAll(fn));
			});
			
			return _.compact(result);
		}
function(fn) {
			if (!_.isFunction(fn)) {
				var elemName = fn.toLowerCase();
				fn = function(item) {return item.name().toLowerCase() == elemName;};
			}
				
			var result = [];
			_.each(this.children, function(child) {
				if (fn(child))
					result.push(child);
				
				result = result.concat(child.findAll(fn));
			});
			
			return _.compact(result);
		}
function ( fn ) { if ( ! _ . isFunction ( fn ) ) { var elemName = fn . toLowerCase ( ) ; fn = function ( item ) { return item . name ( ) . toLowerCase ( ) == elemName ; } ; } var result = [ ] ; _ . each ( this . children , function ( child ) { if ( fn ( child ) ) result . push ( child ) ; result = result . concat ( child . findAll ( fn ) ) ; } ) ; return _ . compact ( result ) ; }
Finds all child nodes that matches truth test for passed
<code>fn</code> function
@param {Function} fn
@returns {Array}
Finds all child nodes that matches truth test for passed <code > fn< / code > function