Skip to content

Instantly share code, notes, and snippets.

@jonmaim
Last active March 20, 2017 11:58
Show Gist options
  • Save jonmaim/ca8b9b6597ea46e5b88e5ba508c0a1e5 to your computer and use it in GitHub Desktop.
Save jonmaim/ca8b9b6597ea46e5b88e5ba508c0a1e5 to your computer and use it in GitHub Desktop.

Revisions

  1. jonmaim revised this gist Mar 20, 2017. No changes.
  2. jonmaim revised this gist Mar 20, 2017. No changes.
  3. jonmaim created this gist Mar 20, 2017.
    24 changes: 24 additions & 0 deletions jqlite2html.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    function format(node, level) {
    var indentBefore = new Array(level++ + 1).join(' ');
    var indentAfter = new Array(level - 1).join(' ');
    var textNode;

    for (var i = 0; i < node.children.length; i++) {
    textNode = document.createTextNode('\n' + indentBefore);
    node.insertBefore(textNode, node.children[i]);
    format(node.children[i], level);
    if (node.lastElementChild === node.children[i]) {
    textNode = document.createTextNode('\n' + indentAfter);
    node.appendChild(textNode);
    }
    }
    return node;
    }

    function jqlite2html(str) {
    if (typeof str !== 'string') { str = str.html(); }

    var div = document.createElement('div');
    div.innerHTML = str.trim();
    return format(div, 0).innerHTML;
    }