.closest() with positional selectors wasn't worked as expected.

This commit is contained in:
John Resig 2009-01-10 20:30:03 +00:00
parent b1018cad12
commit 0066ba3f82
2 changed files with 7 additions and 2 deletions

View file

@ -342,10 +342,12 @@ jQuery.fn = jQuery.prototype = {
},
closest: function( selector ) {
var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null;
return this.map(function(){
var cur = this;
while ( cur && cur.ownerDocument ) {
if ( jQuery(cur).is(selector) )
if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) )
return cur;
cur = cur.parentNode;
}