X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fselector.js;h=c35fbb1eb9ae99c14cfc02cd06f670fca2f75c42;hb=9ea8017f86c48ab624fbdc0e55a79110d9c61a9f;hp=70e988db00aaf19e4377953b859e0277e7388b4b;hpb=2da897db844ddb4adfb73c4306976f1ac6525f9e;p=jquery.git diff --git a/src/selector.js b/src/selector.js index 70e988d..c35fbb1 100644 --- a/src/selector.js +++ b/src/selector.js @@ -96,15 +96,15 @@ jQuery.extend({ if ( typeof t != "string" ) return [ t ]; - // Make sure that the context is a DOM Element - if ( context && !context.nodeType ) - context = null; + // check to make sure context is a DOM element or a document + if ( context && context.nodeType != 1 && context.nodeType != 9) + return [ ]; // Set the correct context (if none is provided) context = context || document; // Initialize the search - var ret = [context], done = [], last; + var ret = [context], done = [], last, nodeName; // Continue while a selector expression exists, and while // we're no longer looping upon ourselves @@ -122,12 +122,12 @@ jQuery.extend({ var m = re.exec(t); if ( m ) { - var nodeName = m[1]; + nodeName = m[1].toUpperCase(); // Perform our own iteration and filter for ( var i = 0; ret[i]; i++ ) for ( var c = ret[i].firstChild; c; c = c.nextSibling ) - if ( c.nodeType == 1 && (nodeName == "*" || jQuery.nodeName(c, nodeName)) ) + if ( c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName) ) r.push( c ); ret = r; @@ -140,7 +140,7 @@ jQuery.extend({ if ( (m = re.exec(t)) != null ) { r = []; - var nodeName = m[2], merge = {}; + nodeName = m[2].toUpperCase(), merge = {}; m = m[1]; for ( var j = 0, rl = ret.length; j < rl; j++ ) { @@ -151,7 +151,7 @@ jQuery.extend({ if ( m == "~" && merge[id] ) break; - if (!nodeName || jQuery.nodeName(n, nodeName)) { + if (!nodeName || n.nodeName.toUpperCase() == nodeName ) { if ( m == "~" ) merge[id] = true; r.push( n ); } @@ -436,3 +436,4 @@ jQuery.extend({ return r; } }); +