code: function (elm, html) {
          elm = this.$$(elm);
  
          if (isIE) {
            elm.each(function (i, target) {
              if (target.canHaveHTML === false) {
                return;
              }
  
              // Remove all child nodes, IE keeps empty text nodes in DOM
              while (target.firstChild) {
                target.removeChild(target.firstChild);
              }
  
              try {
                // IE will remove comments from the beginning
                // unless you padd the contents with something
                target.innerHTML = '<br>' + html;
                target.removeChild(target.firstChild);
              } catch (ex) {
                // IE sometimes produces an unknown runtime error on innerHTML if it's a div inside a p
                $('<div></div>').html('<br>' + html).contents().slice(1).appendTo(target);
              }
  
              return html;
            });
          } else {
            elm.html(html);
          }
        }
docs: Sets the specified HTML content inside the element or elements. The HTML will first be processed. This means
  URLs will get converted, hex color values fixed etc. Check processHTML for details.
  
  @method setHTML
  @param {Element/String/Array} elm DOM element, element id string or array of elements/ids to set HTML inside of.
  @param {String} html HTML content to set as inner HTML of the element.
  @example
  // Sets the inner HTML of all paragraphs in the active editor
  tinymce.activeEditor.dom.setHTML(tinymce.activeEditor.dom.select('p'), 'some inner html');
  
  // Sets the inner HTML of an element by id in the document
  tinymce.DOM.setHTML('mydiv', 'some inner html');