HTML DOM 节点

 节点

节点是网络中的一个连接点,一个网络就是由一些节点构成的集合。文档是由节点构成的集合,此时,节点是文档树上的树叶和树枝。

在DOM中有许多不同类型的节点。现在介绍其中的三种

1.主要节点类型

元素节点:html标签的名字就是元素的名字;元素可以包含其他元素

文本节点:在html中,文本节点总是被包含在元素节点内部。

属性节点:用来对元素做出更具体的描述

<p title="a gentle reminder ">Don't forget buy this stuff</p>

 

2.节点属性 

2.1 childNodes属性

在一棵节点树上,childNoe属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素的全部子元素的数组。

事实上,文档里几乎每一样东西都是一个节点,甚至连空格和换行符都会被解释为节点,而它们也全都包含在childNodes属性所返回的数组当中

1         <p id="p1" title="测试子元素">使用nodeValue获取元素的文本</p>
2         
3         <script type="text/javascript">
4             var elem=document.getElementById("p1");
5             var p_elem=elem.childNodes;
6             for(var i=0;i<p_elem.length;i++){
7                 console.log(p_elem[i]);
8             }

结果显示:

 

 

 

2.3 nodetype属性

让我们知道接下来与哪一种节点打交道。nodeType属性一共有12种可取值,但其中仅有3种具有实用价值

元素节点:nodeType的属性值是1

属性节点:nodeType 的属性值为2

文本节点:nodeTpye的属性值为3

可以让函数只对特定类型的节点进行处理。例如,完全可以编写出一个只处理元素节点的函数

2.4 nodeValue属性

如果想要改变一个文本节点的值,那就使用DOM提供的nodeValue属性,用它来得到和设置一个节点的值。

用nodeValue属性获取description对象的值时,得到的并不是包含在这个段落里的文本。这个调用会返回一个null值。

p元素本身的nodeValue属性是一个空值,而你真正需要的是<p>元素所包含的文本值。包含在<p>元素里的是文本是另一种节点,它是<p>元素的第一个子节点。

 

 1         <p id="p1" title="测试子元素">使用nodeValue获取元素的文本</p>
 2         
 3         <script type="text/javascript">
 4             var elem=document.getElementById("p1");
 5             var p_elem=elem.childNodes;
 6             for(var i=0;i<p_elem.length;i++){
 7                 console.log(p_elem[i]);
 8             }
 9             p_elem[0].nodeValue="文本已经发生改变了";
10         
11         </script>

2.5 firstChild和lastChild属性

无论何时何地,只要需要访问childNodes数组的第一个元素,都可以把它写成firstChild:

DOM还提供了一个与之对应的lastChild属性:这代表着childNodes数组的最后一个元素。

 1         <p id="p1" title="测试子元素">使用nodeValue获取元素的文本</p>
 2         
 3         <script type="text/javascript">
 4             var elem=document.getElementById("p1");
 5             var p_elem=elem.childNodes;
 6             for(var i=0;i<p_elem.length;i++){
 7                 console.log(p_elem[i]);
 8             }
 9             elem.firstChild;
10             elem.lastChild;
11             p_elem[0].nodeValue="文本已经发生改变了";
12         
13         </script>

 

posted @ 2022-08-11 17:45  炸鸡好吃真好吃  阅读(65)  评论(0编辑  收藏  举报