欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

访问HTML之DOM对象的节点属性和方法

程序员文章站 2022-05-07 20:11:50
...

文本对象模型DOM是定义访问和处理HTML文档的标准方法。DOM对象模型的出现,使得HTML元素成为对象。借助javascript就能操作HTML元素。

HTML元素允许相互嵌套,DOM将HTML文档呈现为带有元素、属性和文本的树结构(节点图)。将HTML代码分解为DOM节点层次图。

访问HTML之DOM对象的节点属性和方法

 

访问HTML之DOM对象的节点属性和方法

节点树中的节点彼此拥有层级关系。父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点,同级的子节点被称为同胞(兄弟或姐妹)。在节点树中,顶端节点被称为根,每个节点都有父节点、除了根(它没有父节点),一个节点可拥有任意数量的子节点,同胞是拥有相同父节点的节点。

HTML文档中的所有的内容都是节点,nodeType属性返回节点的类型。nodeType是只读的。整个文档是一个文档节点,nodeType的值是9,每个HTML元素都是元素节点,nodeType的值是1,HTML元素内的文本是文本节点,nodeType的值是3,每个HTML属性是属性节点,nodeType的值是2,注释是注释节点,nodeType的值8

如下图:

 

访问HTML之DOM对象的节点属性和方法

访问HTML之DOM对象的节点属性和方法

访问HTML之DOM对象的节点属性和方法

节点属性

在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 :

1. nodeName : 节点的名称

2. nodeValue :节点的值

3. nodeType :节点的类型

一、nodeName 属性: 节点的名称,是只读的。

1. 元素节点的 nodeName 与标签名相同
2. 属性节点的 nodeName 是属性的名称
3. 文本节点的 nodeName 永远是 #text
4. 文档节点的 nodeName 永远是 #document

二、nodeValue 属性:节点的值

1. 元素节点的 nodeValue 是 undefined 或 null
2. 文本节点的 nodeValue 是文本自身
3. 属性节点的 nodeValue 是属性的值

三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:

元素类型    节点类型
  元素          1
  属性          2
  文本          3
  注释          8
  文档          9

                                                                        DOM节点的常用方法          

方法 描述
getElementById() 返回带有指定 ID 的元素。
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值。
setAttribute()

把指定属性设置或修改为指定的值。

 

 

区别getElementByID,getElementsByName,getElementsByTagName

以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。

1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。

2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。

3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。

把上面的例子转换到HTML中,如下:

<input type="checkbox" name="hobby" id="hobby1">  音乐

input标签就像人的类别。

name属性就像人的姓名。

id属性就像人的身份证。

方法总结如下:

访问HTML之DOM对象的节点属性和方法

注意:方法区分大小写

通过下面的例子(6个name="hobby"的复选项,两个按钮)来区分三种方法的不同:

  <input type="checkbox" name="hobby" id="hobby1">  音乐   <input type="checkbox" name="hobby" id="hobby2">  登山   <input type="checkbox" name="hobby" id="hobby3">  游泳   <input type="checkbox" name="hobby" id="hobby4">  阅读   <input type="checkbox" name="hobby" id="hobby5">  打球   <input type="checkbox" name="hobby" id="hobby6">  跑步    <input type="button" value = "全选" id="button1">   <input type="button" value = "全不选" id="button1">

1. document.getElementsByTagName("input"),结果为获取所有标签为input的元素,共8个。

2. document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素,共6个。

3. document.getElementById("hobby6"),结果为获取属性id="hobby6"的元素,只有一个,"跑步"这个复选项。

访问HTML之DOM对象的节点属性和方法

访问HTML之DOM对象的节点属性和方法

访问HTML之DOM对象的节点属性和方法