js中,dom元素和节点的区别

JavaScript08

js中,dom元素和节点的区别,第1张

在 HTML DOM (文档对象模型)中,每个部分都是节点:

文档本身是文档节点

所有 HTML 元素是元素节点

所有 HTML 属性是属性节点

HTML 元素内的文本是文本节点 (包括回车符也是属于文本节点)

注释是注释节点

Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。

NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。

元素也可以拥有属性。属性是属性节点。

<bookstore>

          <book category="children">

                    <title lang="en">Harry Potter</title>

                    <author>J K. Rowling</author>

                    <year>2005</year>

                    <price>29.99</price>

          </book>

          <book category="cooking">

                    <title lang="en">Everyday Italian</title>

                    <author>Giada De Laurentiis</author>

                    <year>2005</year>

                    <price>30.00</price>

            </book>

</bookstore>

元素和节点的区别:元素是一个小范围的定义,必须是含有完整信息的节点才是一个元素。

比如:<author>......./<author>是一个元素。而<author>是一个子节点或者是元素节点,Vaidyanathan Nagarajan是一个文本节点。

换句话说就是 元素一定是节点,但节点不一定是元素。

node(节点)是相对Tree这种数据结构而言的。Tree就是由Node组成。

element则是xml里面的概念,<xxx>就是元素,是xml中数据的组成部分之一。

DOM将文档中的所有都看作节点node>element

一个元素是由开始标签、结束标签以及标签之间的数据构成的

总结:元素是元素节点,是节点中的一种,但元素节点中可以包含很多的节点。

1、所谓元素,即html文档里面,所有的标签都可以称之为元素,比如说<p>、<tr>等,也就是说元素是个统称,一个文档里面有很多的元素。

2、所谓节点,是js为了对html文档进行操作,而开发的,即DOM,文档对象模型。即每个元素都可以称之为一个节点,节点是唯一的。

比方来说,《p》标签,肯定是一个p标签元素,那如果通过js对它进行样式控制的时候,就必须获取(找到)到这个元素,称之为节点,如果有好多元素,可以获得第1个、第2个或者第n个。

总之,元素是统称,节点是具有唯一性的。