DocumentFragment类型 除开昨天我们了解的两种不常用的类型之外 今天我们要介绍的两种类型可以说使用频率不输于前面最常用的几种元素类型 首先就是DocumentFragment类型 有些小伙伴可能没有听说过这个类型,但是这个类型在前端性能优化方面有着举足轻重的作用 应该是仅次于VirtualDOM(虚拟节点技术)的 那么为什么大家对这种类型没有太多的感触呢? 因为只有这种类型没有对应的DOM标记,也就是说没法通过解析页面代码获得 书中对该类型的定义如下: 是一种轻量级文档,可以包含和…
DOM变化 我们知道DOM有许多的版本,其中DOM0和DOM2这两个级别以对事件的纳入标准而为人所知 但是呢,这里不讲事件,在后面会有专门和事件有关的部分作为详细讲解 这里就只讲一下DOM2和DOM3的背景来历 首先DOM1级主要定义的是HTML和XML文档底层的结构,DOM2和DOM3两个级别则主要致力于为文档引入更加丰富的交互能力 与此同时这两个版本也支持了更加高级的XML特性 首先DOM2分为了许多模块 如下所示: 1. DOM2级核心 2.DOM2级视图 3.DOM2级事件 4.DOM2…
Element类型 除了Document类型之外,Element类型应该就是web编程中最常用的类型了 Element类型主要用于表现XML.HTML元素,提供对元素标签名.子节点以及特性的访问 特性 nodeType:1 nodeName:元素标签名 nodeValue:null parentNode:Document.Element tagName:用于访问元素的标签名(为了清晰,返回的值都是大写的标签名,在进行比较时需注意转换) HTML元素 Html 元素都使用 HTMLElement…
DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上就是三种规范,只要是实现了这三种规范,那么这个语言就可以说是JS DOM(文档对象模型)也是一种规范,是针对HTML和XML文档的API(应用程序编程接口) DOM的功能主要是用于将文档解析为一个层次化的节点树,通过DOM提供的API让开发人员能够操作这棵节点树 用于对文档内容进行操作(增.删.改.…
事件,指的是网页中某个特定的交互时刻 一般来说事件由浏览器厂商负责提供,一般由用户操作或者其它浏览器功能来触发 但是有一类特殊的事件,那就是由我们开发人员通过JS触发的事件 这些事件和浏览器创建的事件一样,都可以冒泡,并且在其触发时运行事先指定给它的事件处理程序 在测试web程序的过程中这种模拟触发事件是一种极其有用的技术,为此DOM2级规范将其纳入规范 规范化了模拟事件的方式,这种DOM规范规定的模拟事件的技术手段也叫做DOM事件模拟 PS:模拟事件和自定义事件是有区别的,模拟事件指的是我们并…
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就做一个简要地记录 我们知道 HTML  中表格由许多元素构成 所以为了方便我们的操作DOM为我们提供了一些属性和方法,以便我们更方便地构建一个表格 <table>元素 有以下方法及属性: caption:保存对<caption>的引用 tBodies:<tbody>元素的…
Attr类型 我们在之前的文章中提到了,元素有一个 attributes 属性 该属性保存了一个 NamedNodeMap 集合 该集合中的元素也就是今天我们所要记叙的 attr 类型 主要就是方便我们在JS中操作上图中被选出的特性 首先,Attr类型 具有以下特点: 1. nodeType: 2 2. nodeName: 特性名称 3. nodeValue:特性值 4. parentNode:null 5.value:值与nodeValue一致 6.name:值与nodeName一致 那么什么…
CDATASection类型 CDATASection类型是只针对XML文档的类型 因为浏览器无法解析 在浏览器中创建CDATASection的函数也无法正常使用 该类型有以下属性 nodeType:4 nodeName:“#data-section” nodeValue:cdata中的内容 parentNode:Element或Document 不支持子节点 由于浏览器不能解析,所以这里不过多地去讲 DocumentType DocumentType也是一种比较少用的DOM类型 该类型包含着与…
Comment类型 顾名思义,comment类型指的就是注释节点在HTML文档中的类型 也就是说平时我们在代码中的注释,在HTML解析的时候也会被解析为一类节点 让我们可以根据这些节点进行一系列的操作 Comment类型的属性及方法 nodeType:8 nodeName:“#comment” nodeValue:“注释内容” parentNode:Document或Element 没有子节点 从结构上来看,Comment类型和Text类型都继承自同一基类 Comment拥有Text类型除了sp…
Text类型 html页面中的纯文本内容就属于Text类型 纯文本内容可以包含转义后的html字符,但不能包括 html 代码 text类型具有以下属性.方法 nodeType:3 nodeName:'#text' nodeValue:值为节点所包含的文本节点 parentNode:Element节点 childNodes:不支持子节点 data:值与nodeValue一致 length:保存节点中的文字数目与data.value.nodeValue.length一致 appendData(te…