@@ -563,7 +563,8 @@ jQuery.fn.extend({
563563
564564 html : function ( value ) {
565565 return access ( this , function ( value ) {
566- var elem = this [ 0 ] || { } ,
566+ var oldValue ,
567+ elem = this [ 0 ] || { } ,
567568 i = 0 ,
568569 l = this . length ;
569570
@@ -574,19 +575,21 @@ jQuery.fn.extend({
574575 }
575576
576577 // See if we can take a shortcut and just use innerHTML
577- if ( typeof value === "string" && ! rnoInnerhtml . test ( value ) &&
578+ oldValue = value ;
579+ value = typeof value === "string" && ! rnoInnerhtml . test ( value ) &&
578580 ( support . htmlSerialize || ! rnoshimcache . test ( value ) ) &&
579581 ( support . leadingWhitespace || ! rleadingWhitespace . test ( value ) ) &&
580- ! wrapMap [ ( rtagName . exec ( value ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) {
581-
582- value = value . replace ( rxhtmlTag , "<$1></$2>" ) ;
582+ ! wrapMap [ ( rtagName . exec ( value ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] &&
583+ value . replace ( rxhtmlTag , "<$1></$2>" ) ;
583584
585+ if ( value ) {
584586 try {
585587 for ( ; i < l ; i ++ ) {
586588 // Remove element nodes and prevent memory leaks
587589 elem = this [ i ] || { } ;
588590 if ( elem . nodeType === 1 ) {
589591 jQuery . cleanData ( getAll ( elem , false ) ) ;
592+ // Sets innerHTML to "true" when processed by uglify-js@2.4.23
590593 elem . innerHTML = value ;
591594 }
592595 }
@@ -595,10 +598,10 @@ jQuery.fn.extend({
595598
596599 // If using innerHTML throws an exception, use the fallback method
597600 } catch ( e ) { }
598- }
601+ }
599602
600603 if ( elem ) {
601- this . empty ( ) . append ( value ) ;
604+ this . empty ( ) . append ( oldValue ) ;
602605 }
603606 } , null , value , arguments . length ) ;
604607 } ,
0 commit comments