Adding some fixes for commit [6537]. If there's leading whitespace, or if an exception is thrown by innerHTML, we need to use the old style method.

This commit is contained in:
John Resig 2009-09-15 16:46:15 +00:00
parent cf8c1249d1
commit fc4c691534

View file

@ -189,15 +189,21 @@ jQuery.fn.extend({
// See if we can take a shortcut and just use innerHTML // See if we can take a shortcut and just use innerHTML
} else if ( typeof value === "string" && !/<script/i.test( value ) && } else if ( typeof value === "string" && !/<script/i.test( value ) &&
this[0] && !jQuery.isXMLDoc( this[0] ) && (!jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
for ( var i = 0, l = this.length; i < l; i++ ) { try {
// Remove element nodes and prevent memory leaks for ( var i = 0, l = this.length; i < l; i++ ) {
if ( this[i].nodeType === 1 ) { // Remove element nodes and prevent memory leaks
cleanData( this[i].getElementsByTagName("*") ); if ( this[i].nodeType === 1 ) {
this[i].innerHTML = value; cleanData( this[i].getElementsByTagName("*") );
this[i].innerHTML = value;
}
} }
// If using innerHTML throws an exception, use the fallback method
} catch(e) {
this.empty().append( value );
} }
} else { } else {