aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeresig <jeresig@gmail.com>2011-04-11 16:00:34 -0400
committerjeresig <jeresig@gmail.com>2011-04-11 16:00:34 -0400
commite9905b15d4ab90471d12508938e8935f4cc63581 (patch)
tree5c2246212f78bed97c4661c713069bfd29b011fb
parent094c48e0c5cff8f7cc039426a34ed47b2a748c3c (diff)
parenta564a0b1ec167b2f0fdd2d017a986b226a9850f6 (diff)
downloadjquery-e9905b15d4ab90471d12508938e8935f4cc63581.tar.gz
jquery-e9905b15d4ab90471d12508938e8935f4cc63581.zip
Merge branch '2773_firefox_opera_fix' of https://github.com/timmywil/jquery into timmywil-2773_firefox_opera_fix
-rw-r--r--src/traversing.js11
-rw-r--r--test/unit/traversing.js3
2 files changed, 9 insertions, 5 deletions
diff --git a/src/traversing.js b/src/traversing.js
index fb5946bba..e0f40151d 100644
--- a/src/traversing.js
+++ b/src/traversing.js
@@ -73,9 +73,9 @@ jQuery.fn.extend({
},
is: function( selector ) {
- return !!selector && (typeof selector === "string" ?
+ return !!selector && ( typeof selector === "string" ?
jQuery.filter( selector, this ).length > 0 :
- this.filter( selector ).length > 0);
+ this.filter( selector ).length > 0 );
},
closest: function( selectors, context ) {
@@ -298,13 +298,18 @@ jQuery.extend({
// Implement the identical functionality for filter and not
function winnow( elements, qualifier, keep ) {
+
+ // Can't pass null or undefined to indexOf in Firefox 4
+ // Set to 0 to skip string check
+ qualifier = qualifier || 0;
+
if ( jQuery.isFunction( qualifier ) ) {
return jQuery.grep(elements, function( elem, i ) {
var retVal = !!qualifier.call( elem, i, elem );
return retVal === keep;
});
- } else if ( qualifier && qualifier.nodeType ) {
+ } else if ( qualifier.nodeType ) {
return jQuery.grep(elements, function( elem, i ) {
return (elem === qualifier) === keep;
});
diff --git a/test/unit/traversing.js b/test/unit/traversing.js
index f622082e7..140b337aa 100644
--- a/test/unit/traversing.js
+++ b/test/unit/traversing.js
@@ -72,7 +72,7 @@ test("is(String|undefined)", function() {
});
test("is(jQuery)", function() {
- expect(24);
+ expect(23);
ok( jQuery('#form').is( jQuery('form') ), 'Check for element: A form is a form' );
ok( !jQuery('#form').is( jQuery('div') ), 'Check for element: A form is not a div' );
ok( jQuery('#mark').is( jQuery('.blog') ), 'Check for class: Expected class "blog"' );
@@ -83,7 +83,6 @@ test("is(jQuery)", function() {
ok( !jQuery('#en').is( jQuery('[lang="de"]') ), 'Check for attribute: Expected attribute lang to be "en", not "de"' );
ok( jQuery('#text1').is( jQuery('[type="text"]') ), 'Check for attribute: Expected attribute type to be "text"' );
ok( !jQuery('#text1').is( jQuery('[type="radio"]') ), 'Check for attribute: Expected attribute type to be "text", not "radio"' );
- ok( jQuery('#text2').is( jQuery(':disabled') ), 'Check for pseudoclass: Expected to be disabled' );
ok( !jQuery('#text1').is( jQuery(':disabled') ), 'Check for pseudoclass: Expected not disabled' );
ok( jQuery('#radio2').is( jQuery(':checked') ), 'Check for pseudoclass: Expected to be checked' );
ok( !jQuery('#radio1').is( jQuery(':checked') ), 'Check for pseudoclass: Expected not checked' );