Bug Tracker

Changeset 5460

Show
Ignore:
Timestamp:
05/06/08 00:13:20 (7 months ago)
Author:
aflesler
Message:

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

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/jquery/src/selector.js

    r5377 r5460  
    332332 
    333333            else if ( m[1] == "[" ) { 
    334                 var type = m[3]; 
     334                var tmp = [], type = m[3]; 
    335335                 
    336                 // special case, filter by exact name 
    337                 if ( !not && m[2] == 'name' && type == '=' ) 
    338                     r = jQuery.grep( document.getElementsByName(m[5]), function(elem){ 
    339                         return jQuery.inArray( elem, r ) != -1;  
    340                     }); 
    341                 else { 
    342                     for ( var i = 0, rl = r.length, tmp = []; i < rl; i++ ) { 
    343                         var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ]; 
    344                          
    345                         if ( z == null || /href|src|selected/.test(m[2]) ) 
    346                             z = jQuery.attr(a,m[2]) || ''; 
    347      
    348                         if ( (type == "" && !!z || 
    349                              type == "=" && z == m[5] || 
    350                              type == "!=" && z != m[5] || 
    351                              type == "^=" && z && !z.indexOf(m[5]) || 
    352                              type == "$=" && z.substr(z.length - m[5].length) == m[5] || 
    353                              (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not ) 
    354                                 tmp.push( a ); 
    355                     }                    
    356                     r = tmp; 
     336                for ( var i = 0, rl = r.length; i < rl; i++ ) { 
     337                    var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ]; 
     338                     
     339                    if ( z == null || /href|src|selected/.test(m[2]) ) 
     340                        z = jQuery.attr(a,m[2]) || ''; 
     341 
     342                    if ( (type == "" && !!z || 
     343                         type == "=" && z == m[5] || 
     344                         type == "!=" && z != m[5] || 
     345                         type == "^=" && z && !z.indexOf(m[5]) || 
     346                         type == "$=" && z.substr(z.length - m[5].length) == m[5] || 
     347                         (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not ) 
     348                            tmp.push( a ); 
    357349                } 
     350                 
     351                r = tmp; 
    358352 
    359353            // We can get a speed boost by handling nth-child here