cachaito
2/2/2014 - 10:06 PM

Metody insertBefore i insertAdjacentHTML

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);