addClass doesn't fail when passed an undefined or null variable (#1309)
[jquery.git] / src / jquery / jquery.js
index 0ff52fa..d6d3d6a 100644 (file)
@@ -1365,7 +1365,7 @@ jQuery.extend({
        className: {
                // internal only, use addClass("class")
                add: function( elem, c ){
-                       jQuery.each( c.split(/\s+/), function(i, cur){
+                       jQuery.each( (c || "").split(/\s+/), function(i, cur){
                                if ( !jQuery.className.has( elem.className, cur ) )
                                        elem.className += ( elem.className ? " " : "" ) + cur;
                        });
@@ -1567,13 +1567,14 @@ jQuery.extend({
                if ( fix[name] ) {
                        if ( value != undefined ) elem[fix[name]] = value;
                        return elem[fix[name]];
+               } else if ( jQuery.browser.msie && name == "style" )
+                       return jQuery.attr( elem.style, "cssText", value );
 
-               } else if ( value == undefined && jQuery.browser.msie && jQuery.nodeName(elem, "form") && (name == "action" || name == "method") )
+               else if ( value == undefined && jQuery.browser.msie && jQuery.nodeName(elem, "form") && (name == "action" || name == "method") )
                        return elem.getAttributeNode(name).nodeValue;
 
                // IE elem.getAttribute passes even for style
                else if ( elem.tagName ) {
-                       
 
                        if ( value != undefined ) elem.setAttribute( name, value );
                        if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) 
@@ -1850,6 +1851,7 @@ new function() {
                selected: "selected",
                maxlength: "maxLength"
        };
+
 };
 
 /**