X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fselector.js;h=ecec83b9fccc833a39135974e754ebf5ee2bec3b;hb=21dde30348fe9bcbd8db8c1b30e470a9e2f39c16;hp=bc898e143d534073c80b5837d18a626519296462;hpb=e16c7fe0f8e2998d2e3ca1bc8f0794c43b29526f;p=jquery.git diff --git a/src/selector.js b/src/selector.js index bc898e1..ecec83b 100644 --- a/src/selector.js +++ b/src/selector.js @@ -333,8 +333,9 @@ var Expr = Sizzle.selectors = { } }, NAME: function(match, context, isXML){ - if ( typeof context.getElementsByName !== "undefined" && !isXML ) { - return context.getElementsByName(match[1]); + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = context.getElementsByName(match[1]); + return ret.length === 0 ? null : ret; } }, TAG: function(match, context){ @@ -663,15 +664,18 @@ try { var sortOrder; -if ( document.documentElement.compareDocumentPosition ) { +if ( Array.prototype.indexOf ) { + var indexOf = Array.prototype.indexOf, + allSort = document.getElementsByTagName("*"); + sortOrder = function( a, b ) { - var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; + var ret = indexOf.call( allSort, a ) - indexOf.call( allSort, b ); if ( ret === 0 ) { hasDuplicate = true; } return ret; }; -} else if ( document.documentElement.sourceIndex === 0 ) { +} else if ( document.documentElement.sourceIndex === 1 ) { sortOrder = function( a, b ) { var ret = a.sourceIndex - b.sourceIndex; if ( ret === 0 ) {