Commit 61b18c86 authored by John Resig's avatar John Resig

Backing out commit #6507 - causes too many problems.

parent b7a3b220
...@@ -53,12 +53,11 @@ jQuery.fn.extend({ ...@@ -53,12 +53,11 @@ jQuery.fn.extend({
closest: function( selector ) { closest: function( selector ) {
var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null, var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
closer = 0, closer = 0;
context = this.context;
return this.map(function(){ return this.map(function(){
var cur = this; var cur = this;
while ( cur && cur.ownerDocument && cur !== context ) { while ( cur && cur.ownerDocument ) {
if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) { if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
jQuery.data(cur, "closest", closer); jQuery.data(cur, "closest", closer);
return cur; return cur;
......
...@@ -91,7 +91,7 @@ test("filter(jQuery)", function() { ...@@ -91,7 +91,7 @@ test("filter(jQuery)", function() {
}) })
test("closest()", function() { test("closest()", function() {
expect(9); expect(6);
isSet( jQuery("body").closest("body").get(), q("body"), "closest(body)" ); isSet( jQuery("body").closest("body").get(), q("body"), "closest(body)" );
isSet( jQuery("body").closest("html").get(), q("html"), "closest(html)" ); isSet( jQuery("body").closest("html").get(), q("html"), "closest(html)" );
isSet( jQuery("body").closest("div").get(), [], "closest(div)" ); isSet( jQuery("body").closest("div").get(), [], "closest(div)" );
...@@ -99,12 +99,6 @@ test("closest()", function() { ...@@ -99,12 +99,6 @@ test("closest()", function() {
isSet( jQuery("div:eq(1)").closest("div:first").get(), [], "closest(div:first)" ); isSet( jQuery("div:eq(1)").closest("div:first").get(), [], "closest(div:first)" );
isSet( jQuery("div").closest("body:first div:last").get(), q("fx-tests"), "closest(body:first div:last)" ); isSet( jQuery("div").closest("body:first div:last").get(), q("fx-tests"), "closest(body:first div:last)" );
// Test .closest() limited by the context
var jq = jQuery("#nothiddendivchild", document.body);
isSet( jq.closest("html").get(), [], "Context limited." );
isSet( jq.closest("body").get(), [], "Context limited." );
isSet( jq.closest("#nothiddendiv").get(), q("nothiddendiv"), "Context not reached." );
}); });
test("not(Selector)", function() { test("not(Selector)", function() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment