X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Ftraversing.js;h=b5a5a2dee176a9fd68bb1f91fb88aba606cb30c8;hb=90ba57ce6d84653b4533569d88d4af6b9a50426b;hp=f7c86f13c3312960bc1464e88dede681d7c65e4e;hpb=76f6f0d39dc16e6c081823938ec46f6627a05d31;p=jquery.git diff --git a/src/traversing.js b/src/traversing.js index f7c86f1..b5a5a2d 100644 --- a/src/traversing.js +++ b/src/traversing.js @@ -6,18 +6,21 @@ var winnow = function( elements, qualifier, keep ) { } else if( qualifier.nodeType ) { return jQuery.grep(elements, function(elem, i) { return (elem === qualifier) === keep; - }) + }); } else if( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function(elem) { return elem.nodeType === 1 }); + var filtered = jQuery.grep(elements, function(elem) { return elem.nodeType === 1; }); - if(isSimple.test( qualifier )) return jQuery.filter(qualifier, filtered, !keep); - else qualifier = jQuery.filter( qualifier, elements ); + if(isSimple.test( qualifier )) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, elements ); + } } return jQuery.grep(elements, function(elem, i) { return (jQuery.inArray( elem, qualifier ) >= 0) === keep; }); -} +}; jQuery.fn.extend({ find: function( selector ) { @@ -52,7 +55,8 @@ jQuery.fn.extend({ }, closest: function( selector, context ) { - var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null; + var pos = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : null; return this.map(function(){ var cur = this, closer = 0;