function parse(elementOrHtml, rules, context, cleanUp) {
    wysihtml5.lang.object(currentRules).merge(defaultRules).merge(rules).get();
    
    context           = context || elementOrHtml.ownerDocument || document;
    var fragment      = context.createDocumentFragment(),
        isString      = typeof(elementOrHtml) === "string",
        element,
        newNode,
        firstChild;
    
    if (isString) {
      element = wysihtml5.dom.getAsDom(elementOrHtml, context);
    } else {
      element = elementOrHtml;
    }
    
    while (element.firstChild) {
      firstChild  = element.firstChild;
      element.removeChild(firstChild);
      newNode = _convert(firstChild, cleanUp);
      if (newNode) {
        fragment.appendChild(newNode);
      }
    }
    
    // Clear element contents
    element.innerHTML = "";
    
    // Insert new DOM tree
    element.appendChild(fragment);
    
    return isString ? wysihtml5.quirks.getCorrectInnerHTML(element) : element;
  }
function parse(elementOrHtml, rules, context, cleanUp) {
    wysihtml5.lang.object(currentRules).merge(defaultRules).merge(rules).get();
    
    context           = context || elementOrHtml.ownerDocument || document;
    var fragment      = context.createDocumentFragment(),
        isString      = typeof(elementOrHtml) === "string",
        element,
        newNode,
        firstChild;
    
    if (isString) {
      element = wysihtml5.dom.getAsDom(elementOrHtml, context);
    } else {
      element = elementOrHtml;
    }
    
    while (element.firstChild) {
      firstChild  = element.firstChild;
      element.removeChild(firstChild);
      newNode = _convert(firstChild, cleanUp);
      if (newNode) {
        fragment.appendChild(newNode);
      }
    }
    
    
    element.innerHTML = "";
    
    
    element.appendChild(fragment);
    
    return isString ? wysihtml5.quirks.getCorrectInnerHTML(element) : element;
  }
function parse ( elementOrHtml , rules , context , cleanUp ) { wysihtml5 . lang . object ( currentRules ) . merge ( defaultRules ) . merge ( rules ) . get ( ) ; context = context || elementOrHtml . ownerDocument || document ; var fragment = context . createDocumentFragment ( ) , isString = typeof ( elementOrHtml ) === "string" , element , newNode , firstChild ; if ( isString ) { element = wysihtml5 . dom . getAsDom ( elementOrHtml , context ) ; } else { element = elementOrHtml ; } while ( element . firstChild ) { firstChild = element . firstChild ; element . removeChild ( firstChild ) ; newNode = _convert ( firstChild , cleanUp ) ; if ( newNode ) { fragment . appendChild ( newNode ) ; } } // Clear element contents element . innerHTML = "" ; // Insert new DOM tree element . appendChild ( fragment ) ; return isString ? wysihtml5 . quirks . getCorrectInnerHTML ( element ) : element ; }
Iterates over all childs of the element, recreates them, appends them into a document fragment
which later replaces the entire body content
Iterates over all childs of the element recreates them appends them into a document fragment which later replaces the entire body content