什么是DOM?

243 阅读2分钟

1.什么是DOM?

我们先引用官方的话语:DOM文档对象模型(DOM,Document Object Model)是 HTML 和 XML 文档的编程接口。DOM 表示 由多层节点构成的文档,通过它开发者可以添加、删除和修改页面的各个部分。


接下来让我们来层层解析一下这句话的含义:

  1. 什么是DOM? DOM就是文档对象模型

    你想想HTML的文档document页面是一切的基础,没有它dom就无从谈起。

当创建好一个页面并加载到浏览器时,DOM就悄然而生,它会把网页文档转换为一个文档对象,主要功能是处理网页内容。

在这个文档对象里,所有的元素呈现出一种层次结构,就是说除了顶级元素html外,其他所有元素都被包含在另外的元素中。

假如有下面这么一段代码:


<html>

<head>

<title>文档标题</title>

</head>

<body>

<a href="">我的链接</a>

<h1>我的标题</h1>

</body>

</html>

那么它传到浏览器上面会被浏览器html解析器解析成一个DOM树 ,从上到下层层解析

他就想一颗家谱树,而家谱树本身就是一种模型,其典型用法是表示表示人类家族谱系。

它很容易表明家族成员之间的关系,把复杂的关系简明地表示出来,因此这种模型非常适合表示一份html的文档:

image.png

文档对象模型就是基于这样的文档视图结构的一种模型所有的html页面都逃不开这个模型,也可以把它称为节点树更为准确。

2.DOM可以用来干什么?

理解了DOM是API,就知道它就是一些功能,通过这些功能可以对HTML文档进行动态操作,从而实现许多动态交互效果。

3.DOM是怎么来的?

回答这个问题需要追溯到1990年代后期微软与Netscape的‘浏览器大战’。

4怎么使用DOM?

通过javascript对HTML DOM进行访问。 HTML DOM将html元素定义为对象,API以对象方法和对象属性的形式实现。 可直接调用DOM实现的方法,进行DOM操作

5.失去DOM会怎样

  1. 失去DOM我们就只能面向字符串来编程,那就没有api,全部都要手写,那是一个很恐怖的

下面这种就是面向字符串,也就是失去DOM后的编程

<img  src:"xxxx"  ></img>

2.简单来讲,DOM就是来让我们面向对象来编程

下面这种直接操作DOM面向对象,可以提高性能,快捷

img.src='xxxx'