在看Js视频的时候就感觉Dom这东西太奇妙了。在这个注重用户体验的Web设计时代里。Dom是至关重要的。

它的易用性强。而且遍历简单。支持XPath。

它既然这么强大那么就来简单的介绍Dom这个东东。

一、DOM是什么?

DOM即:文档对象模型(DocumentObject Model)。DOM就是一个编程接口。是针对HTML文档、XML等文档的一套API。就类似于JDBC是针对数据库的一套API一样。

二、DOM干什么?

DOM 是用来訪问或操作HTML文档、XHTML文档、XML文档中的节点元素。

如今基本上全部的浏览器都都运行了W3C公布的DOM规范,所以在浏览器上就能够用DOM的这些API。

三、什么时候用?

DOM实际上是一个操作文档里面所包括的内容的一个编程的API,开发者利用它从文档中读取、搜索、改动、添加和删除数据。

四、DOM具体说明

HTML文档是树状结构,根为<HTML>;DOM也是树状结构,根为window或document对象。所以DOM就能够把HTML以树状的形式呈现出来。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1X3l1amllMjAxMWNvbQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

五、DOM的分类

核心 DOM:定义了一套标准的能够针对不论什么文档的对象。

HTML DOM:针对HTML文档的DOM。

XML DOM:针对XML文档的DOM。

六、DOM的级别Level

DOM0:不是W3C规范。

DOM1:開始是W3C规范。专注于HTML文档和XML文档。

DOM2:对DOM1添加了样式表对象模型

DOM3:对DOM2添加了内容模型 (DTD 、Schemas) 和文档验证。

七、DOM优缺点

DOM的优势:易用性强,使用DOM时,将把全部的XML文档信息都存于内存中。而且遍历简单,支持XPath。增强了易用性。

DOM的缺点:效率低,解析速度慢,内存占用量过高,对于大文件来说差点儿不可能使用。另外效率低还表如今大量的消耗时间,由于使用DOM进行解析时,将为文档的每一个element、attribute、processing-instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。

总结:

以上仅仅是对DOM基础知识的积累,让它在自己的头脑里有个头绪。至于它在代码中怎样实现,在今后的学习中会慢慢补充。

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

DOM简要的更多相关文章

  1. jQuery简要dom操作

    文本 dom 获取标签 $(选择). 创建一个标签对象 $("标签"): 由于所有的返回jQuery对象,能够调用链(无论jQuery API 回报jQuery对象) 插入标签 内 ...

  2. [译]Angular2 和TypeScript -- 一次简要的预览

    原文链接:https://www.infoq.com/articles/Angular2-TypeScript-High-Level-Overview 作者:  Yakov Fain Posted o ...

  3. 抛开react,如何理解virtual dom和immutability

    去年以来,React的出现为前端框架设计和编程模式吹来了一阵春风.很多概念,无论是原本已有的.还是由React首先提出的,都因为React的流行而倍受关注,成为大家研究和学习的热点.本篇分享主要就聚焦 ...

  4. JavaScript DOM 编程艺术(第2版)读书笔记 (8)

    <!--这章的内容略奇怪啊!可能是因为我之前没有接触过这些知识点,等以后用到的时候再回来翻阅吧,现在先简要介绍一下 js权限已通过,博客园好快的效率啊,谢谢O(∩_∩)O --> 缩略语 ...

  5. 基于jQuery查找dom的多种方式性能问题

    这个问题的产生由于我们前端组每个人的编码习惯的差异,最主要的还是因为代码的维护性问题.在此基础上,我对jQuery源码(1.11.3)查找dom节点相关的内容进行了仔细的查阅,虽然并不能理解的很深入 ...

  6. 《JavaScript 闯关记》之 DOM(下)

    Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了.Element 类型用于表现 XML 或 HTML 元素,提供了对元素标签名.子节点 ...

  7. vue 源码学习三 vue中如何生成虚拟DOM

    vm._render 生成虚拟dom 我们知道在挂载过程中, $mount 会调用 vm._update和vm._render 方法,vm._updata是负责把VNode渲染成真正的DOM,vm._ ...

  8. Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合

    操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...

  9. vue虚拟DOM源码学习-vnode的挂载和更新流程

    代码如下: <div id="app"> {{someVar}} </div> <script type="text/javascript& ...

随机推荐

  1. 安卓SDK更新host文件地址

    之前在安装jdk时,安装进度一直很缓慢,在更新这个(两个任选,都有效)host文件地址后,瞬间就可以了. 203.208.46.146 dl.google.com 203.208.46.146 dl- ...

  2. Linux系统部署规范v1.0

    Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽 ...

  3. HUNNU11354:Is the Name of This Problem

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11354&courseid=0 Problem des ...

  4. VS2010 TFS

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...

  5. Scala Hello 示例

    object ScalaDemo1 {   def main(args: Array[String]) {     println("Hello,world!");   } }

  6. NET的可运行于树莓派

    Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器   最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制 ...

  7. [Cacti] cacti监控mongodb性能实战

    .生成监控图 在界面.选择"Device".选择mongodb服务器连接"3.X2_mongodb".再选择右上角的"Create Graphs fo ...

  8. Linux学习笔记——例说makefile 头文件查找路径

    0.前言     从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力.所以特意借 ...

  9. HDOJ 5147 Sequence II 树阵

    树阵: 每个号码的前面维修比其数数少,和大量的这后一种数比他的数字 再枚举每一个位置组合一下 Sequence II Time Limit: 5000/2500 MS (Java/Others)    ...

  10. JS伪3D 图形透视效果

    本文地址:http://blog.csdn.net/ei__nino/article/details/9243331 本来是想实现多个圆片的透视效果,对于运算都是测试得出的.不是严谨的数学计算. 使用 ...