zoukankan      html  css  js  c++  java
  • 初识 javascript 文档碎片

    今天遇到一个问题: 我通过 ajax 取回另一个页面的 Html 。但这些 HTML 我不想直接
    输出,想通过 getElementsByName 处理后再输出相应的内容。用原生的 javascript
    怎样可以处理呢?

    后来是一技术群问到以下一段代码:

     1 function html2node(s) {
     2     var d = document.createElement('div');
     3     d.innerHTML = s;
     4     if (d.childNodes.length == 1)
     5         return d.childNodes[0];
     6     var df = document.createDocumentFragment();
     7     while (d.firstChild)
     8         df.appendChild(d.firstChild);
     9     return df;
    10 }


    大概的原理都明白,比较困惑的是为什么要用 document.createDocumentFragment 呢?
    后来在网上搜索了一下相关资源才知道,document.createDocumentFragment 是用来创建文档碎片的。
    当我们需要大量 appendChild 页面元素时,可以先将这些元素 appendChild 进 document.createDocumentFragment。
    然后只需 appendChild 文档碎片到页面就可以了。这样就不用多次刷新页面达到性能优化的目的。上面那个代码
    我觉得用到文档碎片是多余的。


    参考资料:
    《JavaScript性能优化--创建文档碎片》
  • 相关阅读:
    视频解析小技巧
    linux系统路由设置
    tracert路由跟踪命令
    php+nginx
    docker快速拉取镜像
    linux命令
    添加docker命令
    linux模糊查询文件名
    查看日志
    模板函数与模板类
  • 原文地址:https://www.cnblogs.com/chy1000/p/1776242.html
Copyright © 2011-2022 走看看