Bug Tracker

Ticket #1309: jquery.diff

File jquery.diff, 1.2 KB (added by keithorama, 14 years ago)

patch to check for non-string input on className.*

  • /Users/keith/Sites/sonomagrapevine.org/misc/

    old new  
    330330        className: {
    331331                // internal only, use addClass("class")
    332332                add: function( elem, c ){
    333                         jQuery.each( c.split(/\s+/), function(i, cur){
    334                                 if ( !jQuery.className.has( elem.className, cur ) )
    335                                         elem.className += ( elem.className ? " " : "" ) + cur;
    336                         });
     333                    if ( c.split )
     334                        jQuery.each( c.split(/\s+/), function(i, cur){
     335                                if ( !jQuery.className.has( elem.className, cur ) )
     336                                        elem.className += ( elem.className ? " " : "" ) + cur;
     337                        });
    337338                },
    338339
    339340                // internal only, use removeClass("class")
     
    348349                has: function( t, c ) {
    349350                        t = t.className || t;
    350351                        // escape regex characters
    351                         c = c.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
    352                         return t && new RegExp("(^|\\s)" + c + "(\\s|$)").test( t );
     352                        if ( c.replace ) {
     353                            c = c.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
     354                            return t && new RegExp("(^|\\s)" + c + "(\\s|$)").test( t );
     355                    }
     356                    else {
     357                        return false;
     358                    }
    353359                }
    354360        },
    355361        swap: function(e,o,f) {