Uwaga: pod IE trzeba stosować lowercase do określeń: 'aftereend', 'afterbegin'! W IE są problemy z dodawaniem stringów do elementów tabeli! insertAdjacentHTML wywodzi się z IE > 4 i została przeniesiona do HTML5. Działa podobnie jak .innerHTML, także potrafi tworzyć nowe węzły. .insertAdjacentHTML('beforeBegin', ...) before .insertAdjacentHTML('afterBegin', ...) prepend .insertAdjacentHTML('beforeEnd', ...) append .insertAdjacentHTML('afterEnd', ...) after
//klasycznie wstawianie rodzic.insertBefore(nowyElement, danyElement);
var spanParent = oldSpan.parentNode,
newSpan = document.createElement('span');
newSpan.innerHTML = 'nowy span :-)';
spanParent.insertBefore(newSpan, spanParent.firstChild); // .firstChild - zamiast tworzyć nową zmienną z referencją do 'danyElement'. Tworzy tagi na podstawie stringów!
//za pomocą rodzic.insertAdjacentHTML();
var evenMoreNewSpans = '<span class="bandNewSpan">happy span</span><span>even more happy span</span>';
spanParent.insertAdjacentHTML('afterBegin', evenMoreNewSpans);