`
xuepengcheng
  • 浏览: 45278 次
  • 性别: Icon_minigender_1
  • 来自: 郴州
社区版块
存档分类
最新评论

createDocumentFragment()用途

 
阅读更多
今晚在使用到这结点添加也就随笔写写,看调用多次document.body.appendChild(),每次都要刷新页面一次。效率也就大打折扣了,也正使用document.createDocumentFragment()创建一个文档碎片,把所有的新结点附加在其上,然后把文档碎片的内容一次性添加到document中,这也就只需要一次页面刷新就可。
如:
  <html>
<head>
  <title>createElement</title>
  <script type="text/javascript">
    function createMessage()
     { var oP=document.createElement("p");
      var oText=document.createTextNode("Hello World");
      oP.appendChild(oText);
      document.body.appendChild(oP);

      var arrText=["first","second","third","fourth"];
      var oFragment=document.createDocumentFragment();
      for(var i=0;i<arrText.length;i++)
      {
        var oP=document.createElement("p");
        var oText=document.createTextNode(arrText[i]);
        oP.appendChild(oText);
        oFragment.appendChild(oP);
      }
      document.body.appendChild(oFragment);
     

     }
  </script>
</head>
<body onload="createMessage()">
   <div id="div1">createMessage</div>
</body>
</html>
分享到:
评论

相关推荐

    createElement与createDocumentFragment的点点区别小结

    网上可以搜到的大部分都是说使用createDocumentFragment主要是因为避免因createElement多次添加到document.body引起的效率问题,比如: 代码如下: var arrText=[“1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”...

    JavaScript性能优化 创建文档碎片(document.createDocumentFragment)

    讲这个方法之前,我们应该先了解下插入节点时浏览器会做什么。

    关于javascript document.createDocumentFragment()

    documentFragment 是一個無父對象的document對象.

    浅析document.createDocumentFragment()与js效率

    对于循环批量操作页面的DOM有很大帮助!利用文档碎片处理,然后一次性append,并且使用原生的javascript语句操作

    javascript 异步的innerHTML使用分析

    代码如下: function asyncInnerHTML(HTML, callback) { var temp = document.createElement(‘div’), frag = document.createDocumentFragment(); temp[removed] = HTML;//要加入的内容先放到这里。 (function(){ ...

    Vue中fragment.js使用方法小结

    createDocumentFragment 如果要在一个节点上一次性插入多个元素怎么办,比如说一次插入 10000 个节点? 最简单粗暴的方式就是: var parent = document.getElementById(`'parent'`); for`(`var i = 0; i &lt; 10000...

    blog::writing_hand:qize的博客

    初识createDocumentFragment Promise原理与实现探究的一种思路 Tip Content-Security-Policy的理解 初识createDocumentFragment Vue2的独立构建与运行时构建的差别 JavaScript的异步性和队列问题 CommonJS模块化规范...

    javascript 变态的节点集合

    节点集合 by 司徒正美 #aaa { padding:10px; border:1px solid red;... 代码如下: [removed] = function(){ var d = document.createDocumentFragment(); var div = document.getElementById(“aaa”); var c

    使用Mootools动态添加Css样式表代码,兼容各浏览器

    但是这样做就不利于插件的移植,所以就写了这个函数用来动态产生Css.... }else{ var Frag=document.createDocumentFragment(); Frag.appendChild(document.createTextNode(c)); Sty.appendChild(Frag); } document.get

    JavaScript节点及列表操作实例小结

    createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (2)添加、移除、替换、插入 appendChild() removeChild() replaceChild() ...

    初识javascript 文档碎片

    后来是一技术群问到以下一段代码: 代码... var df = document.createDocumentFragment(); while (d.firstChild) df.appendChild(d.firstChild); return df; } 大概的原理都明白,比较困惑的是为什么要用 document.cre

    JS实现滚动条触底加载更多

    2.触底后触发列表添加, 列表添加使用createDocumentFragment, 将多次插入的DOM先存入内存, 最后一次填充进去, 提高性能, 也方便后面的MutationObserver监听 3.使用MutationObserver监听列表的DOM添加, 添加完毕后, ...

    dom-lite:一个小的DOM实现,其中实现了文档中的大多数DOM属性和方法

    createDocumentFragment ( ) ; var text1 = document . createTextNode ( "hello" ) ; var text2 = document . createTextNode ( " world" ) ; fragment . appendChild ( text1 ) ; fragment . appendChild

    Vue中fragment.js使用方法详解

    createDocumentFragment 如果要在一个节点上一次性插入多个元素怎么办,比如说一次插入 10000 个节点? 最简单粗暴的方式就是: var parent = document.getElementById('parent'); for(var i = 0; i &lt; 10000; i+...

    blocks:将大的阻塞循环分解为较小的块,以提高响应能力

    块 将较大的阻塞循环分解为较小的块,这些块会阻塞一段指定的时间 创建此表的原因是由于呈现了... createDocumentFragment ( ) ; // Start a console timer console . time ( 'total' ) ; blocks . forEach ( data ,

    PixelArtMaker

    PixelArtMaker 开发一个单页Web应用程序,使用户可以... PS:document.createDocumentFragment()可用于有效创建表。 这将防止在每次添加td或tr时对文档进行重排和重绘。 文档片段在内存中,而不是主dom树的一部分。

Global site tag (gtag.js) - Google Analytics