X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=56fbbde1cceefc601785b22ec201894446b0dd76;hb=ace13387c8d7b5823a580db0f1b2aafac515b9f5;hp=446c82e58b9a6ed9bd0cca5357955f26db5d09ee;hpb=aabf635cfe9b75fce3d96eb3e40e25f4a29ea99b;p=jquery.git diff --git a/src/core.js b/src/core.js index 446c82e..56fbbde 100644 --- a/src/core.js +++ b/src/core.js @@ -333,14 +333,14 @@ jQuery.fn = jQuery.prototype = { // attributes in IE that are actually only stored // as properties will not be copied (such as the // the name attribute on an input). - var html = this.outerHTML; + var html = this.outerHTML, ownerDocument = this.ownerDocument; if ( !html ) { - var div = this.ownerDocument.createElement("div"); + var div = ownerDocument.createElement("div"); div.appendChild( this.cloneNode(true) ); html = div.innerHTML; } - return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]; + return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")], ownerDocument)[0]; } else return this.cloneNode(true); }); @@ -1004,7 +1004,7 @@ jQuery.extend({ if ( name in elem && notxml && !special ) { if ( set ){ // We can't allow the type property to be changed (since it causes problems in IE) - if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) + if ( name == "type" && elem.nodeName.match(/(button|input)/i) && elem.parentNode ) throw "type property can't be changed"; elem[ name ] = value;