Back out one of the changes from the previous commit that wasn't necessary to fix...
[jquery.git] / src / core.js
index ce26519..62e41c9 100644 (file)
@@ -396,7 +396,7 @@ jQuery.fn = jQuery.prototype = {
                                        
                                // Everything else, we just grab the value
                                } else
-                                       return this[0].value.replace(/\r/g, "");
+                                       return (this[0].value || "").replace(/\r/g, "");
 
                        }
 
@@ -549,7 +549,7 @@ jQuery.extend = jQuery.fn.extend = function() {
                                        continue;
 
                                // Recurse if we're merging object values
-                               if ( deep && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
+                               if ( deep && options[ name ] && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
                                        target[ name ] = jQuery.extend( target[ name ], options[ name ] );
 
                                // Don't bring in undefined values
@@ -1042,7 +1042,8 @@ jQuery.extend({
                                if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
                                        throw "type property can't be changed";
 
-                               elem.setAttribute( name, value );
+                               // convert the value to a string (all browsers do this but IE) see #1070
+                               elem.setAttribute( name, "" + value );
                        }
 
                        if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) )