Bug Tracker

Ticket #4158: 4156.patch

File 4156.patch, 1.4 KB (added by dz, 14 years ago)
  • selector.js

     
    510510                }
    511511        },
    512512        filter: {
     513                PSEUDO: function(elem, match, i, array){
     514                        var name = match[1], filter = Expr.filters[ name ];
     515
     516                        if ( filter ) {
     517                                return filter( elem, i, match, array );
     518                        } else if ( name === "contains" ) {
     519                                return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
     520                        } else if ( name === "not" ) {
     521                                var not = match[3];
     522
     523                                for ( var i = 0, l = not.length; i < l; i++ ) {
     524                                        if ( not[i] === elem ) {
     525                                                return false;
     526                                        }
     527                                }
     528
     529                                return true;
     530                        }
     531                },
    513532                CHILD: function(elem, match){
    514533                        var type = match[1], node = elem;
    515534                        switch (type) {
     
    553572                                        }
    554573                        }
    555574                },
    556                 PSEUDO: function(elem, match, i, array){
    557                         var name = match[1], filter = Expr.filters[ name ];
    558 
    559                         if ( filter ) {
    560                                 return filter( elem, i, match, array );
    561                         } else if ( name === "contains" ) {
    562                                 return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
    563                         } else if ( name === "not" ) {
    564                                 var not = match[3];
    565 
    566                                 for ( var i = 0, l = not.length; i < l; i++ ) {
    567                                         if ( not[i] === elem ) {
    568                                                 return false;
    569                                         }
    570                                 }
    571 
    572                                 return true;
    573                         }
    574                 },
    575575                ID: function(elem, match){
    576576                        return elem.nodeType === 1 && elem.getAttribute("id") === match;
    577577                },