Bug Tracker

Ticket #1143: uniquebug.patch

File uniquebug.patch, 1.4 KB (added by vmx, 5 years ago)

Patch for 1.1.3a

  • jquery-1.1.

    old new jQuery.extend({ 
    16661666         * @param Array second The second array to merge into the first, unaltered. 
    16671667         * @cat JavaScript 
    16681668         */ 
    1669         merge: function(first, second) { 
     1669        merge: function(first, second, unique) { 
    16701670                // We have to loop this way because IE & Opera overwrite the length 
    16711671                // expando of getElementsByTagName 
    1672                 for ( var i = 0; second[i]; i++ ) 
     1672                for ( var i = 0; second[i]; i++ ) { 
     1673                        if ( unique ) second[i].$merge = true; 
    16731674                        first.push(second[i]); 
     1675                } 
    16741676                return first; 
    16751677        }, 
    16761678 
    16771679        unique: function(first) { 
    1678                 var r = [], num = jQuery.mergeNum++; 
     1680                var r = []; 
    16791681 
    16801682                for ( var i = 0, fl = first.length; i < fl; i++ ) 
    1681                         if ( num != first[i].mergeNum ) { 
    1682                                 first[i].mergeNum = num; 
     1683                        if ( first[i].$merge ) { 
     1684                                first[i].removeAttribute("$merge"); 
    16831685                                r.push(first[i]); 
    16841686                        } 
    16851687 
    16861688                return r; 
    16871689        }, 
    16881690 
    1689         mergeNum: 0, 
    1690  
    16911691        /** 
    16921692         * Filter items out of an array, by using a filter function. 
    16931693         * 
    jQuery.extend({ 
    25782578                                                        if ( tag == "*" && ret[i].nodeName.toLowerCase() == "object" ) 
    25792579                                                                tag = "param"; 
    25802580 
    2581                                                         r = jQuery.merge( r, ret[i].getElementsByTagName( tag )); 
     2581                                                        r = jQuery.merge( r, ret[i].getElementsByTagName( tag ), true); 
    25822582                                                } 
    25832583 
    25842584                                                // It's faster to filter by class and be done with it