jquery selector: reverting [5343], check #1960.

This commit is contained in:
Ariel Flesler 2008-05-06 00:13:20 +00:00
parent d726a96b1f
commit e6fccd7103

View file

@ -331,30 +331,24 @@ jQuery.extend({
r = jQuery.classFilter(r, m[2], not); r = jQuery.classFilter(r, m[2], not);
else if ( m[1] == "[" ) { else if ( m[1] == "[" ) {
var type = m[3]; var tmp = [], type = m[3];
// special case, filter by exact name for ( var i = 0, rl = r.length; i < rl; i++ ) {
if ( !not && m[2] == 'name' && type == '=' ) var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ];
r = jQuery.grep( document.getElementsByName(m[5]), function(elem){
return jQuery.inArray( elem, r ) != -1; if ( z == null || /href|src|selected/.test(m[2]) )
}); z = jQuery.attr(a,m[2]) || '';
else {
for ( var i = 0, rl = r.length, tmp = []; i < rl; i++ ) { if ( (type == "" && !!z ||
var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ]; type == "=" && z == m[5] ||
type == "!=" && z != m[5] ||
if ( z == null || /href|src|selected/.test(m[2]) ) type == "^=" && z && !z.indexOf(m[5]) ||
z = jQuery.attr(a,m[2]) || ''; type == "$=" && z.substr(z.length - m[5].length) == m[5] ||
(type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not )
if ( (type == "" && !!z || tmp.push( a );
type == "=" && z == m[5] ||
type == "!=" && z != m[5] ||
type == "^=" && z && !z.indexOf(m[5]) ||
type == "$=" && z.substr(z.length - m[5].length) == m[5] ||
(type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not )
tmp.push( a );
}
r = tmp;
} }
r = tmp;
// We can get a speed boost by handling nth-child here // We can get a speed boost by handling nth-child here
} else if ( m[1] == ":" && m[2] == "nth-child" ) { } else if ( m[1] == ":" && m[2] == "nth-child" ) {