这是一个例子。检查控制台以获取结果。前两个div
s(未附加;<script>
在控制台上方)具有适当的间距和缩进。但是,后两个div
s 不显示与原始相同的格式或空格,即使它们完全相同,但附加了。
例如输入
var newElem = document.createElement('div');
document.body.appendChild(newElem);
var another = document.createElement('div');
newElem.appendChild(another);
console.log(document.body.innerHTML);
给出输出
<div><div></div></div>
当我希望它看起来像
<div>
<div></div>
</div>
有没有办法在附加元素之间生成适当的空白并在使用innerHTML
(或可能的类似方式)获取它时保留该间距?我需要能够直观地显示我正在处理的页面的层次结构和结构。
我尝试将它附加到实际 HTML 中的元素中,但它具有相同的行为
我可以按照 lincolnk 的建议使用文本节点和换行符,但它需要影响动态结果,这意味着我不能使用相同的.createTextNode(' </br>')
,因为不同的元素位于层次结构的不同级别
请不要 jQuery