Estou tentando criar um <div>
dinamicamente, com um anexo <div>
dentro. Eu tenho isso até agora que funciona:
var iDiv = document.createElement('div');
iDiv.id = 'block';
iDiv.className = 'block';
document.getElementsByTagName('body')[0].appendChild(iDiv);
Estou apenas tendo problemas para criar e anexar a segunda div à primeira div.
Eu quero essencialmente fazer isso como a marcação final:
<div id="block" class="block">
<div class="block-2"></div>
</div>
javascript
Michael Berkowski
fonte
fonte
document.body
.Respostas:
Use o mesmo processo. Você já possui a variável
iDiv
que ainda se refere ao elemento original<div id='block'>
que você criou. Você só precisa criar outro<div>
e ligarappendChild()
.http://jsfiddle.net/W4Sup/1/
A ordem de criação do evento não precisa ser a mesma da acima. Como alternativa, você pode anexar o novo
innerDiv
à div externa antes de adicionar os dois ao<body>
.fonte
fonte
fonte
Bem, eu não sei o quão dinâmico é isso, mas às vezes isso pode salvar sua vida de depuração:
"Rat javascript" Se eu fiz isso corretamente. Funciona diretamente para mim quando a div e o conteúdo não são dinâmicos, é claro, ou você pode até manipular a string para mudar isso também, embora a manipulação da string seja complexa que a abordagem "element.property = bla", isso é muito bem-vindo flexibilidade e também é uma ótima ferramenta de depuração :) Espero que ajude.
fonte
fonte
fonte
fonte
fonte
fonte