为什么不支持操作Dom节点原因 个人觉得:在浏览器生成网页时要经过
- 解析HTML 生成DOM树
- 解析css 生成css规则树
- 合并DOM树和css树生成render规则树 开始渲染页面
- 布局render树对各元素尺寸,位置进行计算,得到每个节点的几何信息计算网 页每个标签布局距离 颜色 属性 //触发简称重排
- 开始绘制 render树 // 重绘
- 浏览器会将各层节点的像素信息发送给GPU,GPU将各层合成、绘制展示到页面上
在我们操作DOM节点 修改元素布局就会引发页面的重排 然后在进行重绘
当然只修改dom元素中的一些 颜色 样式 不会引发重排 重绘
如果修改其中的 布局内容 增删dom 位置结构 尺寸 都会引发重排 重绘 从而消耗性能