$("#foo", xml) would always return an empty set, fixed (bug #877). Additionally,...
authorJohn Resig <jeresig@gmail.com>
Wed, 25 Jul 2007 00:56:50 +0000 (00:56 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 25 Jul 2007 00:56:50 +0000 (00:56 +0000)
src/jquery/jquery.js
src/selector/selector.js

index 8a2c6b2..6f4bbe3 100644 (file)
@@ -1318,7 +1318,8 @@ jQuery.extend({
        
        // check if an element is in a XML document
        isXMLDoc: function(elem) {
-               return elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
+               return elem.documentElement && !elem.body ||
+                       elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
        },
 
        nodeName: function( elem, name ) {
index 2cf0b64..366cf31 100644 (file)
@@ -213,7 +213,7 @@ jQuery.extend({
                                        var elem = ret[ret.length-1];
 
                                        // Try to do a global search by ID, where we can
-                                       if ( m[1] == "#" && elem && elem.getElementById ) {
+                                       if ( m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem) ) {
                                                // Optimization for HTML document case
                                                var oid = elem.getElementById(m[2]);