zoukankan      html  css  js  c++  java
  • jQuery 文件碎片

    经JS操作DOM节点可以是节点的单位,让我们连接节点,能够createElement,createTextNode,然后,appendChild定在一起,然后再用appendChild或insertBefor加入到DOM树中.但假设要往DOM树中动态加入大量的节点.就会非常麻烦.并且每次都会刷新DOM。造成性能上的缺陷。

    解决方法是使用文档碎片这种方法创建文档碎片。

    我个人认为应该把这个翻译成文档片段比較合适。

    使用jQuery解决方式。

    <span style="font-family:FangSong_GB2312;font-size:18px;"><html>
    <head>
    	<title></title>
    </head>
    <body>
    <ul>
    </ul>
    <script type="text/javascript" 	src="jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    	var arr = ["baidu","sina","telcent","ali"];
    	var fragment = document.createDocumentFragment();
    	$.each(arr,function(i,item){
    		var newItem = $("<li>"+item+"</li>")[0];
    		fragment.appendChild(newItem);
    	});
    	$("ul")[0].appendChild(fragment);
    </script>
    </body>
    </html></span>

    也能够使用以下的方法来解决

    <span style="font-family:FangSong_GB2312;font-size:18px;"><html>
    <head>
    	<title></title>
    </head>
    <body>
    <ul>
    </ul>
    <script type="text/javascript" 	src="jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    	var arr = ["baidu","sina","telcent","ali"];
    
    	var html = "";
    	$.each(arr, function(index, val) {
    		html += "<li>" + val + "</li>";	
    	});
    	$('ul').html(html);
    </script>
    </body>
    </html></span>

    效果是同样的。

    当然,你也能够建个新的节点,比方说div,先将oP加入到div上,然后再将div加入到body中.但这样要在body中多加入一个<div></div>.但文档碎片不会产生这样的节点.
    注意:绑定碎片实际上是把碎片的内容附加到被绑定节点以下.并不会产生类似<fragment></fragement>的节点;


    Best Wishes .


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    一个好用的小图标库
    前端应用笔记
    HttpClient的使用今天遇到一个巨坑——HttpEntity内容取不出来
    HttpClient忽略SSL证书
    SpringBoot+Thyemelaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible
    查询Mysql数据库所有数据库所占磁盘空间大小
    Docker安装并运行mysql5.6数据库
    Docker下载镜像太慢问题
    Docker安装Nginx
    vue-router导航守卫
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4801994.html
Copyright © 2011-2022 走看看