Refactored jQuery.find() such that jQuery.nodeName() is used to test the node names like .filter() and other functions do. This puts in place possible fixes for tickets like #1991 where XML and HTML differ in case-sensitivity.

This commit is contained in:
David Serduke 2007-12-05 08:00:30 +00:00
parent 1be5582039
commit 2da897db84

View file

@ -122,12 +122,12 @@ jQuery.extend({
var m = re.exec(t); var m = re.exec(t);
if ( m ) { if ( m ) {
var nodeName = m[1].toUpperCase(); var nodeName = m[1];
// Perform our own iteration and filter // Perform our own iteration and filter
for ( var i = 0; ret[i]; i++ ) for ( var i = 0; ret[i]; i++ )
for ( var c = ret[i].firstChild; c; c = c.nextSibling ) for ( var c = ret[i].firstChild; c; c = c.nextSibling )
if ( c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName.toUpperCase()) ) if ( c.nodeType == 1 && (nodeName == "*" || jQuery.nodeName(c, nodeName)) )
r.push( c ); r.push( c );
ret = r; ret = r;
@ -151,7 +151,7 @@ jQuery.extend({
if ( m == "~" && merge[id] ) break; if ( m == "~" && merge[id] ) break;
if (!nodeName || n.nodeName.toUpperCase() == nodeName.toUpperCase() ) { if (!nodeName || jQuery.nodeName(n, nodeName)) {
if ( m == "~" ) merge[id] = true; if ( m == "~" ) merge[id] = true;
r.push( n ); r.push( n );
} }