Fixed #2070 by adding a test for !nodeType to isArrayLike so DOM elements like SELECT are not considered array-like (even though they really are).
This commit is contained in:
parent
d1b9ad3cdb
commit
24e036c7c8
|
@ -352,11 +352,9 @@ jQuery.fn = jQuery.prototype = {
|
||||||
else
|
else
|
||||||
selector = jQuery.multiFilter( selector, this );
|
selector = jQuery.multiFilter( selector, this );
|
||||||
|
|
||||||
|
var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
|
||||||
return this.filter(function() {
|
return this.filter(function() {
|
||||||
// check to see if the selector is array-like otherwise assume it is just a DOM element
|
return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;
|
||||||
return ( selector.length && selector[selector.length - 1] !== undefined )
|
|
||||||
? jQuery.inArray( this, selector ) < 0
|
|
||||||
: this != selector;
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1068,7 +1068,7 @@ test("not()", function() {
|
||||||
isSet( $("#form option").not("option.emptyopt:contains('Nothing'),[selected],[value='1']").get(), q("option1c", "option1d", "option2c", "option3d" ), "not('complex selector')");
|
isSet( $("#form option").not("option.emptyopt:contains('Nothing'),[selected],[value='1']").get(), q("option1c", "option1d", "option2c", "option3d" ), "not('complex selector')");
|
||||||
|
|
||||||
var selects = $("#form select");
|
var selects = $("#form select");
|
||||||
isSet( selects.not( selects[1] ), ["select1", "select3"], "filter out DOM element");
|
isSet( selects.not( selects[1] ), q("select1", "select3"), "filter out DOM element");
|
||||||
});
|
});
|
||||||
|
|
||||||
test("andSelf()", function() {
|
test("andSelf()", function() {
|
||||||
|
|
Loading…
Reference in a new issue