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 insertAdjacent
existem os métodos irmãos:
element.insertAdjacentHTML('afterbegin','htmlText')
para injetar diretamente a string html, como innerHTML
mas sem substituir tudo, para que você possa pular o processo opressivo document.createElement
e até criar o componente inteiro com o processo de manipulação da string
element.insertAdjacentText
para injetar higienizar a string no elemento. não maisencode/decode