DOM 是什么 ? 先了解 Node & HTMLElement 就知道了

面试的时候很常会被问到 DOM 是什么?
那 Node 和 HTMLElement 又是什么呢?

DOM(Document Object Model) 是由多个 DOM Node 物件节点所组成的文件(树)物件模型。

http://img2.58codes.com/2024/20144231yAEcWH4pTG.png

DOM Node

图片中第一个区块是我们写的 HTML 语法,下面的区块是转成节点的样子。
DOM document 包含很多节点:
<html> 是一个 node 节点,包含2个子节点:

headbody

<body> 也是一个 node 节点,有1个父节点 html,包含3个子节点:

注解 <!-- Page Body -->标题 <h2>段落 <p>

<p> 本身是 node 节点,包含1个子节点:

文字节点 "Thank you for visiting my web page!"

DOM Node Types

从上述了解 DOM Nodes 的过程中,可以得知 Node 有很多种型态,html、body、注解、文字...等,各个型态都是一个节点。

Node.ELEMENT_NODENode.ATTRIBUTE_NODENode.TEXT_NODENode.CDATA_SECTION_NODENode.PROCESSING_INSTRUCTION_NODENode.COMMENT_NODENode.DOCUMENT_NODENode.DOCUMENT_TYPE_NODENode.DOCUMENT_FRAGMENT_NODENode.NOTATION_NODE

DOM Element

而 DOM Element 是 node(Node.ELEMENT_NODE) 其中一个型态,也就是常用到的 HTML tags,像是<html> <body> <h2> <p>...等。

<p> 同时是 DOM Node,也是 HTML Element<!-- Page Body --> 是 DOM Node,但不是 HTML Element

总结

Nodes 节点有很多种型态,DOM Element 是 Node 其中一种型态,而 DOM 表示整个节点和元素组成的树状结构。

参考来源:
https://dmitripavlutin.com/dom-node-element/
https://iter01.com/233214.html


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章