createElement创建的节点不显示是因为未挂载到DOM中;需确保父容器存在且在DOMContentLoaded后操作,appendChild仅接受Node实例,批量插入推荐使用DocumentFragment,insertAdjacentHTML比innerHTML更安全可控。

createElement 和 appendChild 是插入动态节点最基础、最可控的方式,但直接组合使用容易报错或渲染失败——关键不在“会不会写”,而在“节点是否已挂载”和“父容器是否存在”。
为什么 createElement 创建的节点不显示?
调用 document.createElement('div') 只是生成一个脱离文档流的“空壳”对象,它没有父节点,浏览器不会渲染。必须显式插入到真实 DOM 中(如 body 或某个已有 id 的容器)才能可见。
- 常见错误:只创建没插入,控制台无报错但页面空白
- 更隐蔽的错误:父元素尚未加载完成,
document.getElementById('container')返回null,后续appendChild报Cannot read property 'appendChild' of null - 解决方案:把操作逻辑放在
DOMContentLoaded事件里,或确保<script></script>放在



















