Backing out commit #6507 - causes too many problems.
This commit is contained in:
parent
b7a3b220a8
commit
61b18c866c
|
@ -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() {
|
||||||
})
|
})
|
||||||
|
|
||||||
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() {
|
||||||
|
|
||||||
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() {
|
||||||
|
|
Loading…
Reference in a new issue