js节点使用 碎片节点

js节点,都知道3大类:

元素节点

属性节点

文本节点

常用的呢元素节点,属性节点。还有俩方法,setAttribute()  getAttribute(),设置和获取属性值

在实际工作中呢,长长我们从后台拿到一串数据,要在前台页面展示。
我们写好一个html母版后,用for循环,在母版中加入数据,最后插入页面。这个呢就是思路!

为了快捷方便,常常这么干,

var str="";

for(var i=0;i<data.length;i++){

  str+="<div>"+data[i].detail+"</div>";

}

$(‘div‘).innerHTML=str;

但是这样呢,影响页面性能,在设置一些属性什么的时候不方便,太多的字符串拼接容易出错,重要的是显得很不专业!!

在大神的提点下,开始用这个鬼!

var fragment=document.createDocumentFragment();

fragment  就是一个节点碎片

此时我们可以这么干了

for(var i=0;i<data.length;i++){

  var div=document.createElement(‘div‘);

  div.className="ml";

  div.innerHTML=data[i].detail;

  fragment.appendChild(div);

}

$(‘div‘).appendChild(fragment);

这么看着就高大上了吧!!!

时间: 2024-08-10 02:09:31

js节点使用 碎片节点的相关文章

【笔记】科普createDocumentFragment() 创建文档碎片节点

上一篇文章说到了动态添加文本节点的方法那如果我们要添加多个文本节点或者元素节点呢? 大家可能会想到用循环然后逐个逐个添加 但是别忘了js 还提供了创建一个文本碎片的方法 createDocumentFragment(); 这个方法怎么用呢? 其实这个方法就相当于一个收集器 把所有要添加的元素收集起来再打包添加到body里面 思路就是这样以下分享一下代码 <!DOCTYPE html> <html lang="en"> <head> <meta

【JS学习笔记】DOM基础-字节点,父节点

一.DOM基础 (1)什么是DOM?DOM,即document,是用来操作页面上的元素,比如操作div获取,修改样式等.是JS的组成部分,还是一套规范. (2)浏览器的支持情况 现在主流的浏览器有3种,分别是IE,Chrome,Firefox. IE:在IE6-8版本中,对DOM的支持差不多是百分之十几差不多了,但是到了IE9就有了质的飞跃. Chrome:介于两者之间,在60%左右,对DOM支持的不是那么的好也不是那么的差. Firefox:对于DOM的支持几乎可以用99%来形容. 二.DOM

JS学习之DOM节点的关系属性封装、克隆节点、Dom中Style常用的一些属性等小结

JS DOM节点: 在JS DOM中节点的关系被定义为节点的属性: 通常有以下几种节点之间的关系: (这里的关系是所有浏览器都支持的) parentNode    父节点 childNodes    子节点 firstChild    父节点里的第一个子节点 lastChild     父节点里的最后一个子节点 nextSibling    与子节点并列的下一个兄弟节点 previousSibling   与子节点并列的上一个兄弟节点 火狐与谷歌支持而ie8不支持的节点关系有: previous

js dom操作获取节点的一些方法

在复习javascript基础的时候,整理了一下js中获取节点的一些常用的方法,见代码: 1 //js获取下一个兄弟节点 2 function getNextSibling(eleObj){ 3 var next = eleObj.nextSibling; 4 if(next.nodeType == 3){ // 文本节点 5 return next.nextSibling; 6 } 7 return next; 8 } 9 //js获取上一个兄弟节点 10 function getPrevio

js中的dom节点以及offset,client,scroll家族

一.节点. 1.父节点:parentNode; 2.兄弟节点: (1).下一个兄弟节点:nextElementSibling(在Ie中用nextSibling); (2).上一个兄弟节点:previousElementSibling(在Ie中用 previousSibling); 3.子节点: (1).选中第一个子节点:firstElementChild(在Ie中用firstChild); (2).选中最后一个子节点:lastElementChild(在ie中用lastChild); (3).选

JS/jQuery判断DOM节点是否存在

JS原生判断DOM节点是否存在页面中 JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象.既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中 代码: Object.prototype.exist = function(){ if(typeof th

js、jquery对节点的操作(增、删)

js对节点的操作方法 一.获取 1.父节点的获取 某节点的parentNode属性值即为该节点的父节点.示例: var parent = document.getElementById("one").parentNode; 2.兄弟节点的获取 nextElementSibling和nextSibling属性配合使用. 某节点的nextElementSibling属性值是该节点后面紧邻的兄弟节点,但是这个有兼容性,在ie9以上版本(包含ie9)和其他浏览器,结果是我们想要的弟节点,在ie

count failed: not master{ &quot;note&quot; : &quot;from execCommand&quot;, &quot;ok&quot; : 0, &quot;errmsg&quot; : &quot;not master&quot; } at src/mongo/shell/query.js:191在SECONDARY节点无法show dbs

count failed: not master{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" } at src/mongo/shell/query.js:191 在SECONDARY节点无法show dbs 主从启动之后,连接slave可以成功连上,但是在slave中执行 show dbs 的时候就报错了: QUERY Er

JS之获取子节点

在JS中获取子节点有以下几种方法: firstElementChild.firstChild.childNodes和children 我们通过一个例子来分析这几种方法的区别(获取div下的p标签) 输出结果是这样的: firstElementChild和Children 都成功获取到了p标签,那另外两个文本(#text)是什么东西呢? 其实是因为现在的标准浏览器会为空白符创建文本节点(标签之间换行或空格之类的都会产生空白符),而ie9以前的浏览器却不会. 我们知道DOM节点分为三大类 1.元素节