Dom树,什么是dom树?

article/2025/10/31 20:52:57

相信很多初学前端的小伙伴,学了html, css, js之后,会遇到 一个名词 DOM树

首先说一下DOM是什么?

DOM 是 Document Object Model(文档对象模型)的缩写。

举个例子

我们日常生活中,经常会遇到一些写文档的工作,写一个论文 .docx 等等。我们可以改文本的字号,添加标题,增加内容,改变页眉页脚……

但在我们初期写html页面时,一旦代码确定,那么页面的整体显示就会确定下来!打开浏览器浏览你的页面,内心细腻的你,发现一处 <p>我喜欢吃肉!</p>,但你明明想写的是"我喜欢吃"。那我们怎么办呢?我们吭哧吭哧的回到你的html文件,改了那段文本标签。

你想,我要是能在浏览页面时像写.docx 那样随便改文档就好了。正在你冥思苦想之际......

大佬们已经帮你想好了!

当你的服务器把html网页发送给用户时,用户的浏览器会解析你的html代码,生成dom树,css则会生成css规则树。有了这两个树,你的浏览器就可以渲染(生成整个页面)了!所有最终呈现的页面都是由我们的浏览器渲染生成的,这也是为什么我们在检查页面时(f12),对内容的修改会直接反应到页面上。因为它来到咱们这里,长什么样已经不是它可以控制的了。

你为她画了晓妆,你为她添了晚妆

这个dom树有一个根节点<html>标签,由这个根,你的每一个<meta>标签,<p>标签,<title>,<h1>等等,以及他们的文本内容,在上面生长,我们可以很轻松的在这颗树上定位到他们的位置!这是给门牌号啊。这是数据的结构啊。

可上面说的明明是文档对象!

程序员都知道。对象就是 对象数据 ➕ 对象函数

dom对象,在树形结构中,我们可以轻松定位到对应的标签位置,文本位置!

同时给大家提供了对这个结构修改-内容修改的内置函数,这也是对象模型的核心!

"W3C 文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问、更新文档的内容、结构和样式。”

由DOM提供其他编程语言对于底层数据控制的支持。

  • 可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

提供了哪些方法呢?无非就是,四大计算机古典名著《增》《删》《改》《查》

  • getElementById() 返回带有指定 ID 的元素。
  • getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
  • getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
    .etc

 这就跟js联系到了一起吧!
我们先看一个简单的例子。

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() { document.getElementById("p1").innerHTML = "我喜欢吃";
}
</script>
</head>
<body>
<p id="p1">我喜欢吃肉</p>
<button type="button" onclick="myFunction()">试一试</button>
<script>
</script><p>上面的段落被一段脚本改变了。</p>
</body>
</html>

有了dom给你的文本定位,你拿到了p1家的门钥匙,月黑风高,你偷走了p1的……

id的添加是为了更好的定位,正是有了dom对象,这段js可以利用dom对象的方法,对dom树的内容进行修改。

于是乎我们可以在页面上通过js修改任何东西了。包括文本内容,层叠样式。

基于dom,利用js编程,我们可以让用户"动态的修改页面内容",这使得网页更加灵活。

所以建议学习的顺序是学完js再对底层的dom有一个理解。

参考资料

W3school DOM


http://chatgpt.dhexx.cn/article/iPcHwN7t.shtml

相关文章

对 Dom 树的理解

什么是 DOM 从网络传给渲染引擎的 HTML 文件字节流是无法直接被渲染引擎理解的&#xff0c;所以要将其转化为渲染引擎能够理解的内部结构&#xff0c;这个结构就是 DOM。 DOM 提供了对 HTML 文档结构化的表述。 在渲染引擎中&#xff0c;DOM 有三个层面的作用&#xff1a; …

DOM初探(9)——DOM结构树

document一回车&#xff0c;他就代表整个文档&#xff1b;Document一回车&#xff0c;他代表的是一个函数&#xff0c;什么函数需要首字母大写&#xff1f;构造函数吧&#xff0c;只不过这个Document有点特殊&#xff0c;你不能new他&#xff0c;这时系统留给自己new的。那这个…

dom树是如何生成的

页面得渲染流程总得俩说就五步&#xff0c;创建 DOM 树——创建 StyleRules——创建 Render 树——布局Layout&#xff08;重排&#xff09;——绘制 Painting&#xff08;重绘&#xff09; 第一步&#xff0c;用 HTML 分析器&#xff0c;分析 HTML 元素&#xff0c;构建一颗 D…

Dom树 CSS树 渲染树(render树) 规则、原理

前端不可不学的浏览器渲染机制&#xff0c;阿里年年问&#xff0c;去一个栽一个。听说百度也在考这个&#xff0c;你还不准备学吗&#xff1f; 首先你要了解浏览器渲染的顺序&#xff1a;   1.构建dom 树   2.构建css 树   3.构建渲染树   4.节点布局   5.页面渲染 什么…

HTML-DOM树篇

一、什么是DOM DOM&#xff08;Document Object Model&#xff09; 文档对象模型&#xff0c;是HTML和XML文档的编程接口 DOM 以树结构表达 HTML 文档&#xff0c;树的每个分支的终点都是一个节点&#xff0c;每个节点都包含着对象DOM 将web页面与脚本或编程语言链接起来&#…

DOM结构(DOM树)

DOM 文档类型DOM&#xff08;Document Object Model&#xff09;主要用于HTML文档和XML文档的内容进行操作。DOM描绘了一个层次化的节点树&#xff0c;通过节点的操作&#xff0c;来实现对文档内容进行增删改查。 1.DOM&#xff08;Document Object Model&#xff09;&#x…

DOM(一)概述、dom树、查找元素

目录 一、DOM 概述 二、DOM树 二、查找元素 1. 无需查找的元素 2. 按节点间关系查找 3. 按 HTML 特征查找 三、案例&#xff1a;通过DOM实现购物车效果 一、DOM 概述 DOM全称 Document Object Model&#xff0c;是专门操作网页内容的一套对象和函数的总称。由于 ES 标准…

DOM深入学习 --- DOM 树介绍,如何遍历 DOM 树节点(一)

DOM 树 HTML 文档的主干是标签&#xff08;tag&#xff09;。 根据文档对象模型&#xff08;DOM&#xff09;&#xff0c;每个 HTML 标签都是一个对象。嵌套的标签是闭合标签的“子标签&#xff08;children&#xff09;”。标签内的文本也是一个对象。 所有这些对象都可以通…

什么是DOM?你了解DOM树吗?

在找工作的过程中&#xff0c;看到了招聘信息上有写这么一条信息&#xff1a; 掌握WEB前端开发技术&#xff1a;JavaScript(含ES6)、HTML、CSS、DOM等 看见这条信息我心里安心了不少&#xff0c;都是一些基础问题&#xff0c;但是乍一看DOM&#xff0c;脑子有点短路了&#x…

Windows命令:CHCP

CHCP 用途一&#xff1a;Windows操作系统默认编码格式是GBK&#xff08;963&#xff09;&#xff0c;cmd窗口编码方式设置为UTF-8方法&#xff1a; 临时修改方案&#xff1a;CHCP 65001永久修改方案&#xff1a;参考资料&#xff1a;https://jingyan.baidu.com/article/d71306…

查看windows操作系统的默认编码(字符集)-chcp

在windows cmd 模式下&#xff0c;输入命令 &#xff1a; chcp 如上图&#xff0c;我的活动代码页为936&#xff0c;意思是"中国-简体中文(GB2312)" 说明&#xff1a;代码页是“字符集编码”的别名&#xff0c;也有人称为“内码表”。 下表列出了所有支持的代码页…

解决‘chcp’不是内部或外部命令,也不是可运行的程序或批处理文件

解决方法&#xff1a; 此电脑\系统属性\高级系统设置\环境变量 在系统变量点击path&#xff0c;变量值改为Anacondad的安装路径加 &#xff1b;C:\Windows\System32 即可解决注意添加; 有什么问题可私信我 附图&#xff1a;

meterpreter里面cmd乱码解决方法chcp 65001

当我们使用meterpreter反弹shell后使用是乱码时 可以采用如下命令解决 chcp 65501 chcp是一个计算机指令&#xff0c;能够显示或设置活动代码页编号。 65001 UTF-8代码页 950 繁体中文 936 简体中文默认的GBK 437 MS-DOS美国英语

win10 命令行工具cmd乱码解决方案及cmd非常用命令chcp介绍

问题发生前景&#xff1a; 在使用好压压缩命令批量添加压缩文件的时候产生&#xff0c;中文路径或者文件名中文都是乱码&#xff0c;一堆问号。后来查了一些资料&#xff0c;发现命令行工具能够设置编码格式。具体操作如下&#xff1a; 在cmd或者powershell中执行命令 chcp …

msf拿到shell显示乱码解决方法以及chcp各种编码的补充

文章目录 前言 前言 msf拿到shell之后输入命令经常会有乱码&#xff0c;只需要一条命令就能解决。 chcp 65001 chcp 65001 的意思是 &#xff1a;改变当前活动代码页为 UTF-8&#xff0c;让当前的批处理窗口支持 UTF-8 格式的文件。 改变当前 cmd 窗体的活动代码页&#xff0…

【cmd】windows 控制台cmd乱码的解决办法 chcp 65001

本机的系统环境&#xff1a; OS Name: Microsoft Windows 10企业版 OSVersion: 10.0.14393 N/A Build 14393 有时在cmd中输出的中文乱码 解决办法如下&#xff1a; 在cmd中输入CHCP 65001 按Enter键 然后查看不再乱码 注&#xff1a;CHCP是一个计算机指令&#xff0c;能够…

解决CMD编码格式CHCP65001 UTF-8导致Robotframework运行用例失败

运行环境 WIN10系统 Robot Framework 6.0.2 (Python 3.7.9 on win32) 安装命令 // 通过pip安装robotframeworkpip install robotframework pip install robotframework-ride python -m robotide.__init__ 运行demo测试用例 写了一个最简单的测试用例&#xff0c;结果运行…

windows控制台命令窗口中文乱码chcp 65001

1.打开CMD.exe命令行窗口&#xff0c;默认情况下&#xff0c;编码为936&#xff08;简体中文 GBK编码&#xff09;。 2.通过chcp命令改变代码页&#xff0c;chcp 65001。(65001为UTF-8的代码页) 修改以前的编码936&#xff0c;该编码只能显示GBK编码的中文&#xff1a; 修改后…

用CHCP命令切换CMD中英文帮助

如果你想查看CMD某个命令帮助说明&#xff0c;结果显示为英文&#xff0c;英文不好看起来又很累。那么chcp 命令可以帮你切换字符格式 命令介绍&#xff1a; CHCP [nnn]nnn 指定代码页编号。不带参数键入 CHCP 以显示活动代码页编号。常用代码 代码语言65001UTF-8936中文G…

【求助】Executing transaction: | menuinst ExceptionTraceback (most recent call last): File “C:\Program

本人用anaconda的prompt更新东西时&#xff0c;系统给出以下提示&#xff1a; Executing transaction: | menuinst Exception Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\conda\gateways\disk\create.py", line 246, …