文档碎片及xml讲解
1.将数据渲染到页面的几种方式 1.字符串拼接 2.dom循环 3.模板 4.文档碎片 字符串拼接: 优势:只进行一次dom回流 缺点:原有的dom事件会消失 案例分析:原有list中有3个li,并且每个li身上都有一个onmouseover的事件,但是为什么用字符串拼接,事件会消失? 解析:原因在于innerHTML这个属性,这个属性是返回或设置dom中的内容,以字符串形式返回,而onmouse这些dom元素对象身上的,所以这些onmouse系列的属性就会消失; 注意:所有的数据类型只要跟字符串发生拼接,最后都会变成字符串 dom循环: 优势:原有dom身上的事件不会丢失,不影响dom 缺点:dom回流次数过多,严重影响网页性能 dom回流:每当对dom元素进行增删改的时候,浏览器就会重新加载一次,把新的结果渲染出来; 模板: 模板的本质就是字符串,只不过将html和js进行分离 文档碎片: 优点:既不能影响原有的dom属性,也只回流一次 我们只需要通过document对象上的createDocumentFragment() 创建文档碎片(相当于一个容器标签,并不会对dom创建的结构造成影响,只需把dom创建的东西放这个里面) 案例: <!DOCTYPE html>