1.背景介绍
什么是DOM?
DOM全称是Document Object Model(文档对象模型),是为HTML和XML提供的API。那么为什么DOM可以同时提供给HTML和XML编程接口。虽然他们用来标记的标签不同,但是他们本质的结构是相同的。换句话说,按照DOM的标准,HTML和XML都是以标签为结点构造的树结构,DOM将HTML和XML的相同的结构本质抽象出来,然后通过脚本语言,如Javascript,按照DOM里的模型标准访问和操作文档内容。
在Chrome浏览器端,单击右键打开View Page Source展示文档结构。通过这种方式可以直观的看到文档当前的内容和结构。DOM则不同,它是提供一个API给编程语言,比如Javascript,通过一系列抽象的方法操作文档的内容,结构和样式。
官方介绍结束,现在用人话来理解:
在现实世界里,我们对所谓的’世界对象模型’都不会陌生,例如,当用’汽车’、'房子’和’树’等名词来称呼日常生活环境里的事物时,我们都可以百分百的肯定对方知道我们说的是什么,这是因为人们在对这些名词所代表的的东西有着相同的认知。于是,当对别人说"汽车停在车库里"时,可以断定他们不会理解为"小鸟关在壁橱里"等别的含义。
我们的"世界对象模型"不进可以用来描述客观存在的事物,还可以同来描述抽象概念。
例如,假设有个人想我问路,而我给出的答案是"左边第三栋房子",这个答案有没有意义取决于那个人能够理解"左边"和"第三"的含义。如果他不会数数或者分不清左右,则不管他是否理解这几个概念,我的回答对他都不会有任何的帮助。在现实世界中,正是因为大家对抽象的"世界对象模型"有着基本的共识,人们才能用非常简单的话来表达出复杂的含义并得到对方的理解。
2.知识剖析
刚刚提到了节点。那么节点这个到底又是什么?
节点这个词是一个网络用语,代表了网络中的一个连接点。一个网络就是由一些节点构成的集合。
在现实世界中,一切事物都由原子构成。原子就是现实世界的节点。但是原子同样还可以进一步分解为更细小的亚原子微粒。这些亚原子微粒同样也是节点。
DOM也是同样的情况。文档是由节点构成的集合,只不过此时的节点是文档树上的树枝和树叶而已。
在DOM中有许多不同类型的节点。就像原子包含着亚原子微粒那样,也有很多类型的DOM节点包含着其他类型的节点。接下来我们先看看其中的三种:元素节点、文本节点和属性节点。
那么,DOM是由什么组成?
对于XML应用开发来说,DOM就是一个对象化的XML数据接口,一个与语言无关、与平台无关的标准接口规范。
DOM定义了HTML文档和XML文档的逻辑结构,给出了一种访问和处理这两种文档的方法。文档代表的是数据,而DOM则代表了如何去处理这些数据。
作为W3C的标准接口规范,目前,DOM由三部分组成,包括:核心(core)、HTML接口和XML接口。(至于XML和HTML区别是啥,你可以理解为两种不同的语言,但是很相似。作用不一样。XML更多用于数据传输设计,HTML更多用于数据的展示模块)
核心部分是结构化文档比较底层对象的集合,这一部分所定义的对象已经完全可以表达出任何HTML和XML文档中的数据了。
HTML接口和XML接口两部分则是专为操作具体HTML文档和XML文档所提供的高级接口。
DOM树(丑图,摘自红宝书)
2.知识剖析
DOM的四个基本接口
在DOM接口规范中,有四个基本的接口:Document, Node, NodeList, NamedNodeMap。
Document:Document接口是对文档进行操作的入口,它是从Node接口继承过来的。
Node:Node接口是其他大多数接口的父类。 在DOM树中,Node接口代表了树中的一个节点。
常见的DOM操作
1.查找节点
document.

本文深入讲解了DOM(文档对象模型)的基本概念,包括其在HTML和XML编程中的应用,以及如何使用JavaScript进行文档内容、结构和样式的操作。涵盖了DOM的节点类型、基本接口和常见操作,如查找、创建、删除、修改和插入节点。
最低0.47元/天 解锁文章
693

被折叠的 条评论
为什么被折叠?



