Re-worked the logic for where .selector and .context are added for ID selectors ...
authorJohn Resig <jeresig@gmail.com>
Tue, 20 Jan 2009 16:00:48 +0000 (16:00 +0000)
committerJohn Resig <jeresig@gmail.com>
Tue, 20 Jan 2009 16:00:48 +0000 (16:00 +0000)
src/core.js
test/unit/core.js

index 13efaec..585b200 100644 (file)
@@ -47,20 +47,16 @@ jQuery.fn = jQuery.prototype = {
                                else {
                                        var elem = document.getElementById( match[3] );
 
-                                       // Make sure an element was located
-                                       if ( elem ){
-                                               // Handle the case where IE and Opera return items
-                                               // by name instead of ID
-                                               if ( elem.id != match[3] )
-                                                       return jQuery().find( selector );
-
-                                               // Otherwise, we inject the element directly into the jQuery object
-                                               var ret = jQuery( elem );
-                                               ret.context = document;
-                                               ret.selector = selector;
-                                               return ret;
-                                       }
-                                       selector = [];
+                                       // Handle the case where IE and Opera return items
+                                       // by name instead of ID
+                                       if ( elem && elem.id != match[3] )
+                                               return jQuery().find( selector );
+
+                                       // Otherwise, we inject the element directly into the jQuery object
+                                       var ret = jQuery( elem || [] );
+                                       ret.context = document;
+                                       ret.selector = selector;
+                                       return ret;
                                }
 
                        // HANDLE: $(expr, [context])
index c8c7cad..aec334e 100644 (file)
@@ -53,7 +53,7 @@ test("jQuery()", function() {
 });
 
 test("selector state", function() {
-       expect(28);
+       expect(30);
 
        var test;
        
@@ -72,6 +72,10 @@ test("selector state", function() {
        test = jQuery("#main");
        equals( test.selector, "#main", "#main Selector" );
        equals( test.context, document, "#main Context" );
+
+       test = jQuery("#notfoundnono");
+       equals( test.selector, "#notfoundnono", "#notfoundnono Selector" );
+       equals( test.context, document, "#notfoundnono Context" );
        
        test = jQuery("#main", document);
        equals( test.selector, "#main", "#main Selector" );