星空网 > 软件开发 > Java

DOM节点之DocumentType类型、DocumentFragement类型

DocumentFragment类型

【定义】

  在所有节点类型中,只有DocumentFragment在文档中没有对应的标记。DOM规定文档片段(document fragment)是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。

 

【特征】

  nodeType: 11
  nodeName: #document-fragment
  nodeValue:null
  parentNode: null
  childNode:Element、ProcessingInstruction、Comment、Text、CDATASection、EntityReference

 

【方法及应用】

  虽然不能把文档片段直接添加到文档中,但可以将它作为一个“仓库”来使用,即可以在里面保存将来可能会添加到文档中的节点。要创建文档片段,可以使用document.createDocumentFragment()方法。文档片段继承了Node的所有方法,通常用于执行那些针对文档的DOM操作。如果将文档中的节点添加到文档片段中,就会从文档树中移除该节点,也不会从浏览器中再看到该节点。添加到文档片段中的新节点同样也不属性文档树。可以通过appendChild()或insertBefore()将文档片段中内容添加到文档中。在将文档片段作为参数传递给这两个方法时,实际上只会将文档片段的所有子节点添加到相应位置上;文档片段本身永远不会成为文档树的一部分。

<ul id="list"></ul><script>console.time("time");var oList = document.getElementById('list');var fragment = document.createDocumentFragment();var li = null;for(var i = 0; i < 300000; i++){  li = document.createElement('li');  li.appendChild(document.createTextNode("Item" + (i+1)));  fragment.appendChild(li);}oList.appendChild(fragment);//462.545msconsole.timeEnd('time');</script>

<ul id="list"></ul><script>console.time("time");var oList = document.getElementById('list');for(var i = 0; i < 300000; i++){  var li = document.createElement('li');  li.appendChild(document.createTextNode("Item" + (i+1)));  oList.appendChild(li);}console.timeEnd('time');//711.905ms</script>

    由以上结果可以看出,向页面加入<li>标签时,使用DocumentFragment的性能更好

 

DocumentType类型

【定义】

  DocumentType类型包含着与文档的doctype有关的所有信息

 

【特征】

  nodeType: 10
  nodeName: doctype的名称
  nodeValue: null
  parentNode: Document
  childNode:没有子节点

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title></head><body><script>//IE8-浏览器不支持document.doctypevar oDoctype = document.doctype;if(oDoctype){  // html 10 null  console.log(oDoctype.nodeName,oDoctype.nodeType,oDoctype.nodeValue);  //#document []  console.log(oDoctype.parentNode,oDoctype.childNodes)}</script></body></html>  

 

【属性】

  DocumentType对象有3个属性:name、entities、notations。通常浏览器中的文档使用的都是HTML或XHTML文档类型,因而entites和notations都是空列表(列表中的项来自行内文档类型声明)
  name表示文档类型的名称
  entities表示由文档类型描述的实体的NamedNodeMap对象
  notations表示由文档类型描述的符号的NamedNodeMap对象

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title></head><body><script>//IE8-浏览器不支持document.doctypevar oDoctype = document.doctype;if(oDoctype){  console.log(oDoctype.name,oDoctype.entities,oDoctype.notations);//html undefined undefined}</script></body> </html>

 

  




原标题:DOM节点之DocumentType类型、DocumentFragement类型

关键词:dom

dom
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

多重角度比较香港与新加坡离岸公司注册地的优缺点:https://www.kjdsnews.com/a/1727973.html
TikTok Shop将在马来西亚开启斋月大促活动!:https://www.kjdsnews.com/a/1727974.html
2024年电子商务趋势:什么正在塑造当今在线销售的未来:https://www.kjdsnews.com/a/1727975.html
新手必看|TikTok 视频 0 播放?你可能中了这几招:https://www.kjdsnews.com/a/1727976.html
中国卖家如何迎战亚马逊产品本地化变革?:https://www.kjdsnews.com/a/1727977.html
独立站如何制定切实增加流量的内容策略:https://www.kjdsnews.com/a/1727978.html
大件卖家看这里!直达货源,选品快捷,独家干货限时分享:https://www.kjdsnews.com/a/1842243.html
德国消费者购物习惯研究:网购退货率达11%:https://www.kjdsnews.com/a/1842244.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流