Skip to content
Permalink
Browse files

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

  • Loading branch information
jeresig committed Jan 10, 2009
1 parent b1018ca commit 0066ba3f823fdf3e41aa805f54876312c8bd915a
Showing with 7 additions and 2 deletions.
  1. +3 −1 src/core.js
  2. +4 −1 test/unit/core.js
@@ -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;
}
@@ -1407,11 +1407,14 @@ test("filter()", function() {
});

test("closest()", function() {
expect(4);
expect(6);
isSet( jQuery("body").closest("body").get(), q("body"), "closest(body)" );
isSet( jQuery("body").closest("html").get(), q("html"), "closest(html)" );
isSet( jQuery("body").closest("div").get(), [], "closest(div)" );
isSet( jQuery("#main").closest("span,#html").get(), q("html"), "closest(span,#html)" );

isSet( jQuery("div:eq(1)").closest("div:first").get(), [], "closest(div:first)" );
isSet( jQuery("div").closest("body:first div:last").get(), q("divWithNoTabIndex"), "closest(body:first div:last)" );
});

test("not()", function() {

0 comments on commit 0066ba3

Please sign in to comment.
You can’t perform that action at this time.