🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# DOM - <a href="#no1">3.1 文档:DOM中的“D”</a> - <a href="#no2">3.2 对象:DOM中的“O”</a> - <a href="#no3">3.3 模型:DOM中的“M”</a> - <a href="#no4">3.4 节点</a> - <a href="#no5">3.5 获取和设置属性</a> - <a href="#no6">3.6 小结</a> **本章内容** - 节点的概念 - 5个常用的DOM方法:`getElementById`、`getElementsByTagName`、`getElementsByClassName`、`getAttribute`和`setAttribute`。 ##<a name="no1">3.1 文档:DOM中的“D”</a> > 如果没有 `document`(文档),DOM也就无从谈起。当创建了一个网页并把它加载到web浏览器中时,DOM就在幕后悄然而生。它把你编写的网页文档转换为一个文档对象。 ##<a name="no2">3.2 对象:DOM中的“O”</a> > `JavaScript`里的对象可以分为三种类型: 1. 用户定义对象(`user-defined object`):由程序员自行创建的对象。 2. 内建对象(`native object`):内建在`JavaScript`语言里的对象,如`Array`、`Math`和`Date`等。 3. 宿主对象(`hose objecy`):由浏览器提供的对象。 ##<a name="no3">3.3 模型:DOM中的“M”</a> > DOM中的“M”代表着“Model”(模型),是某种实物的表现形式。 ##<a name="no4">3.4 节点</a> > 节点(node)标识网络中的一个连接点,一个网络就是由一些节点构成的集合。 **3.4.1 元素节点** > DOM的原子是元素节点(element node)。 **3.4.3 文本节点** <p>这里是文本节点demo</p> > 如上所示:`<p>这里是文本节点demo</p>`中包含的问本【这里是文本节点demo】,它是一个文本节点(text node)。 **3.4.3 属性节点** > 属性节点用来对元素做出更具体的描述。(attribute node)。 **3.4.4 CSS** 1. class 属性:你可以在所有的元素上任意应用 class 属性。 2. id 属性:id 属性的用途是给网页里的某个元素加上一个独一无二的标识符。 **3.4.5 获取元素** > 有3中DOM方法可以获取元素节点,分别是通过元素ID、通过标签名字和通过类名字来获取。 1. `getElementById`:返回一个与有着给定`id`属性值的元素节点对应的对象。 2. `getElementsByTagName`:返回一个对象数组,每个对象分别对应着文档里有着给定标签的一个元素。 3. `getElementsByClassName`:这个方法可以通过`class`属性中的类名来访问元素。返回值与`getElementByTagName`类似,都是一个具有想同类名的元素的数组。 **3.4.6 盘点知识点** - 一份文档就是一颗节点树。 - 节点分为不同的类型:元素节点、属性节点和文本节点等。 - `getElementById`返回一个对象,该对象对应着文档里的一个特定的元素节点。 - `getElementsByTagName`和`getElementsByClassName`返回一个对象数组,分别对应着文档里的一组特定的元素节点。 - 每个节点都是一个对象。 ##<a name="no5">3.5 获取和设置属性</a> **3.5.1 getAttribute** > `getAttribute`是一个函数。它只有一个参数——你打算查询的属性的名字: object.getAttribute(attribute) **它只能通过元素节点对象调用。** 例: var paras = document.getElementsByTagName('p'); for(var i=0;i < paras.length; i++){ console.log(paras[i].getAttribute('title')); } **3.5.2 setAttribute** > `setAttribute`允许对属性节点的值做出修改,也只能用于元素节点。 object.setAttribute(attribute, value); ##<a name="no6">3.6 小结</a> **本章介绍了DOM提供的五个方法:** 1. getElementById 2. getElementsByTagName 3. getElementsByClassName 4. getAttribute 5. setAttribute