Anexando elementos ao DOM com recuo / espaçamento
Aqui está um exemplo. Verifique o console para o resultado. Os dois primeirosdiv
s (não anexado; acima do<script>
no console) tenha o espaçamento e a indentação corretos. No entanto, os segundos doisdiv
s não mostra a mesma formatação ou espaço em branco que o original, apesar de serem completamente os mesmos, mas anexados.
Por exemplo, a entrada
var newElem = document.createElement('div');
document.body.appendChild(newElem);
var another = document.createElement('div');
newElem.appendChild(another);
console.log(document.body.innerHTML);
Dá a saída
<div><div></div></div>
Quando eu quero que pareça
<div>
<div></div>
</div>
Existe alguma maneira de gerar o espaço em branco adequado entre os elementos anexados e manter esse espaçamento ao obtê-lo usandoinnerHTML
(ou um meio similar possível)? Eu preciso ser capaz de exibir visualmente a hierarquia e a estrutura da página em que estou trabalhando.
Eu tentei anexá-lo dentro de um elemento que está no HTML real, mas tem o mesmo comportamento
Eu ficaria bem em fazer isso usando nós de texto e quebras de linha como lincolnk sugeriu, mas ele precisa afetar os resultados dinâmicos, o que significa que não posso usar o mesmo.createTextNode(' </br>')
porque diferentes elementos estão em diferentes níveis da hierarquia
Não jQuery por favor