2017 version
Você pode usar
targetElement.insertAdjacentElement('afterbegin', newFirstElement)
Do MDN :
O método insertAdjacentElement () insere um determinado nó do elemento em uma determinada posição em relação ao elemento em que é chamado.
position
Um DOMString representando a posição relativa ao elemento; deve ser uma das seguintes seqüências de caracteres
beforebegin:: Antes do próprio elemento.
afterbegin: Logo dentro do elemento, antes de seu primeiro filho.
beforeend: Apenas dentro do elemento, após seu último filho.
afterend: Após o próprio elemento.
elemento
O elemento a ser inserido na árvore.
Também na família de insertAdjacentexistem os métodos irmãos:
element.insertAdjacentHTML('afterbegin','htmlText')para injetar diretamente a string html, como innerHTMLmas sem substituir tudo, para que você possa pular o processo opressivo document.createElemente até criar o componente inteiro com o processo de manipulação da string
element.insertAdjacentTextpara injetar higienizar a string no elemento. não maisencode/decode