Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luizgrs

createElement x innerHTML

Recommended Posts

Olá a todos,

 

Então eu estava aqui programando e me peguei numa dúvida, o que muda ao usar createElement ou innerHTML para criar novos objetos?

 

É claro que em algumas ocasiões só um ou outro serve, como em casos de insertBefore por exemplo.

 

Mas há alguns casos que ambos podem ser implementados, como esse:

 

Tenho uma tag TD e dentro dela quero inserir outra tabela. Qual a diferença de fazer

var td = document.getElementById('tdid')td.innerHTML = '<table><tr><td>Conteúdo</td></tr></table>'

e

 

var td = document.getElementById('tdid')var tbl = document.createElement('table')var tr = document.createElement('tr')var novatd = document.createElement('td')novatd.innerHTML = 'conteúdo'tr.appendChild(novatd)tbl.appendChild(tr)td.appendChild(tbl)
?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"E sobre o innerHTML?

Quando o Internet Explorer 4 chegou, o innerHTML nasceu, um jeito fácil de gerar e modificar conteúdo. Era um modo para ler conteúdo de um elemento muito mais fácil do que as recomendação original do W3C. Esse é um caso especial, um elemento que contém childNodes que são elementos e nós queremos ler todo o conteudo.

 

Para fazer isso somente com DOM, você precisa fazer o trabalho chato de verificar o nodeType e ler os valores de cada childNode. innerHTML é muito mais fácil de usar, mas tem alguns inconvenientes. Por exemplo, você não tem nenhuma referência aos elementos que você criou com ele. Além disso, o HTML só é relacionado com o HTML, não com o XML, e DOM foi feito para atravessar qualquer marcação."

 

FONTE: Tudo sobre Javascript não-obstrutivo - Parte 03 (Criando e destruindo conteúdo) - By Andre Metzen

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.