code: function( html ) {
  					try {
  						var $ = this.$;
  
  						// Fix the case when setHtml is called on detached element.
  						// HTML5 shiv used for document in which this element was created
  						// won't affect that detached element. So get document fragment with
  						// all HTML5 elements enabled and set innerHTML while this element is appended to it.
  						if ( this.getParent() )
  							return ( $.innerHTML = html );
  						else {
  							var $frag = this.getDocument()._getHtml5ShivFrag();
  							$frag.appendChild( $ );
  							$.innerHTML = html;
  							$frag.removeChild( $ );
  
  							return html;
  						}
  					}
  					catch ( e ) {
  						this.$.innerHTML = '';
  
  						var temp = new CKEDITOR.dom.element( 'body', this.getDocument() );
  						temp.$.innerHTML = html;
  
  						var children = temp.getChildren();
  						while ( children.count() )
  							this.append( children.getItem( 0 ) );
  
  						return html;
  					}
  				}
docs: old IEs throws error on HTML manipulation (through the "innerHTML" property) on the element which resides in an DTD invalid position,  e.g. <span><div></div></span> fortunately it can be worked around with DOM manipulation.