From: John Resig Date: Wed, 21 Jan 2009 23:56:15 +0000 (+0000) Subject: Added some additional checks to make sure that the correct methods are being used... X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=68b49cf4273ce500e2666616771e2731c6833bca;p=jquery.git Added some additional checks to make sure that the correct methods are being used in IE on XML documents. --- diff --git a/src/selector.js b/src/selector.js index 0cce515..6b9152d 100644 --- a/src/selector.js +++ b/src/selector.js @@ -655,15 +655,15 @@ try { // The workaround has to do additional checks after a getElementById // Which slows things down for other browsers (hence the branching) if ( !!document.getElementById( id ) ) { - Expr.find.ID = function(match, context){ - if ( context.getElementById ) { + Expr.find.ID = function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { var m = context.getElementById(match[1]); - return m ? m.id === match[1] || m.getAttributeNode && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; + return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; } }; Expr.filter.ID = function(elem, match){ - var node = elem.getAttributeNode && elem.getAttributeNode("id"); + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); return elem.nodeType === 1 && node && node.nodeValue === match; }; }