我正在编写一个代码,它对 DOM 执行一些操作。到目前为止,我认为元素和节点都是相同的。
但是在编写代码时,我知道两者都有一些区别。我读了很多博客,论坛答案。但我并没有真正理解它们的含义。所以请深入解释这些术语并举一些例子。这样我就很清楚了。
提前致谢。寻找您的善意回应。
你经历过这个 - XML 中的元素和节点有什么区别?
节点是 DOM 中的基本数据类型——节点可以包括元素、文档等。
根据 DOM,XML 文档中的所有内容都是一个节点。
DOM 说:
整个文档是一个文档节点。每个 XML 元素都是一个元素节点。XML 元素中的文本是文本节点。每个属性都是一个属性节点。评论是评论节点。
来自w3.org:
节点:
Node 接口是整个文档对象模型的主要数据类型。它表示文档树中的单个节点。虽然所有实现 Node 接口的对象都公开了处理子级的方法,但并非所有实现 Node 接口的对象都可能有子级。例如,Text 节点可能没有子节点,将子节点添加到此类节点会导致引发 DOMException。
元素:
Element 接口表示 HTML 或 XML 文档中的元素。元素可能具有与之关联的属性;由于 Element 接口继承自 Node,因此可以使用通用 Node 接口属性属性来检索元素的所有属性的集合。Element 接口上有一些方法可以按名称检索 Attr 对象或按名称检索属性值。在 XML 中,属性值可能包含实体引用,应检索 Attr 对象以检查表示属性值的可能相当复杂的子树。另一方面,在 HTML 中,所有属性都具有简单的字符串值,因此可以安全地使用直接访问属性值的方法来方便。
另请阅读 - w3schools 节点类型。
元素是一种节点,其他包括注释和文本。
的HTML:
<p> Example <!-- foo --> Example <span></span> </p>
...将创建一个 HTML P 元素节点,其中包含一个文本节点、一个注释节点、另一个文本非节点和一个 HTML SPAN 元素节点。
在 Dom 中,元素扩展了节点的功能。Dom 中的一切都是一个节点。
interface Element : Node
节点:
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247
元素:
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-745549614
Element 是 Node 的一个特例。