diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 8a2c6b2c..6f4bbe3f 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -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 ) { diff --git a/src/selector/selector.js b/src/selector/selector.js index 2cf0b640..366cf318 100644 --- a/src/selector/selector.js +++ b/src/selector/selector.js @@ -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]);