JavaScript: implementing the inserAfter() method

by gabrieleromanato

HTML

<p>Risus cras cras ut hac dictumst? Habitasse placerat adipiscing, urna ridiculus quis, amet integer. Purus velit ac proin! Arcu urna, proin penatibus elementum enim lorem sit sagittis sit? Duis penatibus urna! Porttitor! Ultrices lectus amet porttitor amet cum. Placerat, diam amet dolor! Nec vel! Odio, a cursus amet ultrices vut ultrices scelerisque et integer purus cras penatibus, aliquet augue arcu, proin. Tortor et sed tincidunt mus nisi tempor tristique nascetur! Tristique magna tempor cum, pid ut. Nec enim. Nunc enim in nunc turpis augue scelerisque! Odio eu nascetur! Porttitor sagittis dis tincidunt? Tortor, urna cursus, elementum mauris sagittis? Elit, tincidunt magna hac turpis placerat porttitor? Ultrices scelerisque enim! Ridiculus pid vut adipiscing mid enim odio mauris est sit adipiscing facilisis.</p>

<p>Risus cras cras ut hac dictumst? Habitasse placerat adipiscing, urna ridiculus quis, amet integer. Purus velit ac proin! Arcu urna, proin penatibus elementum enim lorem sit sagittis sit? Duis penatibus urna! Porttitor! Ultrices lectus amet porttitor amet cum. Placerat, diam amet dolor! Nec vel! Odio, a cursus amet ultrices vut ultrices scelerisque et integer purus cras penatibus, aliquet augue arcu, proin. Tortor et sed tincidunt mus nisi tempor tristique nascetur! Tristique magna tempor cum, pid ut. Nec enim. Nunc enim in nunc turpis augue scelerisque! Odio eu nascetur! Porttitor sagittis dis tincidunt? Tortor, urna cursus, elementum mauris sagittis? Elit, tincidunt magna hac turpis placerat porttitor? Ultrices scelerisque enim! Ridiculus pid vut adipiscing mid enim odio mauris est sit adipiscing facilisis.</p>

CSS

body {
    margin: 2em auto;
    width: 80%;
    line-height: 1.4;
    font: 86% Arial, sans-serif;
}

#after {
     background: silver;
     padding: 0.5em;
     margin: 1em 0;
}

JavaScript

function insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
}



var element = document.createElement('div');
element.id = 'after';
element.appendChild(document.createTextNode('After'));


insertAfter(document.body, element, document.getElementsByTagName('p')[0]);