码迷,mamicode.com
首页 > Web开发 > 详细

jQuery 文件碎片

时间:2015-09-11 20:47:39      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

经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 .


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

jQuery 文件碎片

标签:

原文地址:http://www.cnblogs.com/mengfanrong/p/4801994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!