小白入门 JavaScript-DOM 编程艺术(一)

330 阅读3分钟

一、DOM 简介

JavaScript 初期还提供了一种初级的 DOM,下面让我们一起来看看什么是 DOM 吧。

(1.DOM 是什么)

DOM 是 Document Object Model(文档对象模型)的缩写,是一套对文档内容进行抽象概念化的方法。在此外我们还要了解下 DHTML

(2.DHTML 是什么)

DHTML (动态 HTML )描述 HTML、CSS、JavaScript 技术组合的术语。
含义:

  • 利用 HTML 把网页标记为各种元素
  • 利用 CSS 设置元素样式和它们显示位置
  • 利用 JavaScript 实时的对页面进行控制和更改样式

(3.DOM 发展历史)

关于 DOM 的发展历程,DOM 诞生于 1990 年代后期微软Netscape 的 "浏览器大战",双方为了在 JavaScriptJScript 一决生死,大规模的赋予浏览器强大的功能,但是微软Netspace 公司在开发DHTML方面使用不同的标准,使不少网页使用非微软平台及浏览器无法正常显示、互不兼容,此时负责制定 web 通信标准的 W3C 组织 开始着手规划 DOM。

二、对象

对象是一种非常重要的数据类型,对象是自包含的数据集合,通过两种形式访问分别是 属性方法,文档中每个元素都是一个对象。

  • 属性:某个特定对象的变量
  • 方法:某个特定对象的才能调用的特定函数

(1.内建对象)

内建对象其实就是 JavaScript 中已经创建但未初始化的对象。就比如我们最常见的数组

    Var arr = new Array();  

当我们使用 new 关键字去初始化数组的时候,就是相当于在创建一个 Array 对象的实例了。

(2.宿主对象)

由浏览器预定义的对象被称为宿主对象,宿主对象包括 Form、Image、Element等,我们最常见的宿主对象就是 document 对象。

三、节点

关于节点我们看看 DOM 的概念,首先来分解下其词语, D 就是文档,O 对应这对象,M 对应模型,文档是由节点构成的集合,下面来看看是三种最常用的节点。

(1.元素节点)

DOM 的原子是元素节点,标签的名字叫就是元素的名字,每个元素所在的位置构成的文档的结构。

    <p></p>   

(2.文本节点)

文本节点被包含在元素节点的内部,例如元素 <p> 包含的文本内容 “ Hello Word ” ,他就是一个文本节点。

    <p> Hello Word </p> 

(3.属性节点)

属性节点用来对元素做出更具体的描述,被包含在元素节点内部。

    <p style="color:red"; > Hello Word </p>

四、获取元素

有三种方法可以获取 DOM 元素节点。

(1. getElementById 方法)

我们首先创建一个 p 元素,然后给元素创建一个 id 值,用 getElementById 方法获取元素的文本节点。

    <p id="box">Hello Word</p>
    <script>
        var a = document.getElementById("box").innerHTML;
        alert(a);
    </script>

让我们来看看效果
02.png

通过上图我们可以看到成功弹出了 id 为 box 的 p 元素的文本。

(2.getElementsByTagName 方法)

getElementsByTagName 方法返回的是一个对象数组,参数值是标签的名字

    alert(document.getElementsByTagName("p").length);

让我们来看看效果
03.png

通过上图我们可以看到成功返回了一个数字,它代表 p 元素的数组值。

(3.getElementsByClassName 方法)

这个方法与 getElementsByTagName 类似,都是返回一个具有相同类名的元素数组,使用此方法还可以查找那些带有多个类名的元素。

总结:

  • 一份文档就是一棵节点树
  • getElementById 将返回一个对象,该对象对应着文档里得一个特定的元素节点
  • getElementsByTagName 和 getElementsByTagName 将返回一个对象数组,分别对应文档里面特定的一组元素节点
  • 每个节点都是一个对象