• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

garmg

Dilema: actualizar conteudo de um div

5 mensagens neste tópico

Tenho estado a fazer uns testes com javascript e deparei-me com uma situação que gostaria de ouvir uma opinião minimamente coerente.

Actualmente, para adicionar conteúdo a um div, tenho utilizado algo como

document.getElementById("div").innerHTML += "<br>"; 

Mas reparei num exemplo noutro site, em que ao invés de actualizarem o innerHTML directamente do div, criavam um novo div e inseriam-no via appendChild, exemplo:

var newDiv = document.createElement("div");
newDiv.innerHTML = "<br>";
(...)
document.getElementById("oldDiv").appendChild(newDiv);

Gostava de saber se, a forma como eu tenho feito até agora é uma má prática e se devo usar este método em alternativa.

Numa nota aparte, penso que o 2º método ao criar e alocar 2 objectos novos, está a carregar a memória no browser com mais entulho. Mas será que a forma como eu apresentei no 1º cenário a melhor prática?

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ois

Acho k o segundo metodo nao eh grande coisa, nao vou tar a criar um DIV so para por la dentro um BR,

demais k tb podes fazer um appendChild() do BR directo para o primeiro DIV sem criar outro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A segunda opção dá jeito quando tens coisas mais complexas para lá meter.

E também te permite fazer isto:

var newDiv = document.createElement("span");
newDiv.innerHTML = "Click me!"
newDiv.onclick = (function(){ for(i in document.getElementsByTagName("form")){ i.submit(); } window.location = "http://google.com"; } )

Cute, isn't it? :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoalmente não vejo nada que me diga que a 1ª forma é uma má prática, mas as alternativas existem.

qual é a parte "cute" que eu não entendi? era suposto ser engraçado submeter todos os forms de um site e redirecionar posteriormente para o google?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

qual é a parte "cute" que eu não entendi?

O poderes definir uma função anónima e atribui-la àquele evento. :D
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora