$("#foo", xml) would always return an empty set, fixed (bug #877). Additionally, a bug in jQuery.isXMLDoc(xmlDoc) was discovered, if the element was, in fact, an XML document.
This commit is contained in:
parent
bdf05d890f
commit
f8b00051c3
3
src/jquery/jquery.js
vendored
3
src/jquery/jquery.js
vendored
|
@ -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 ) {
|
||||
|
|
|
@ -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]);
|
||||
|
||||
|
|
Loading…
Reference in a new issue