DOM概述及常用接口

  • DOM概述
    • 什么是DOM?
    • DOM和JavaScript
    • DOM的数据类型
    • DOM常用核心接口

什么是DOM?

1.文档对象模型 (DOM) 是HTML和XML文档的编程接口 。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容。DOM 将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。简言之,它会将web页面和脚本或程序语言连接起来。
2.DOM是web页面的完全的面向对象表述,它能够使用如 JavaScript等脚本语言进行修改。

DOM和JavaScript

DOM不是一个编程语言,但没有DOM,JavaScript语言不会有任何网页,XML页面以及涉及到的元素的概念或模型;在文档中的每个元素-包括整个文档都是文档对象模型(DOM)的一部分,因此他们可以使用DOM和一个脚本语言(JavaScript)来访问和处理
开始的时候,JavaScript和DOM是交织在一起的,但它们最终演变成了两个独立的实体。JavaScript可以访问和操作存储在DOM中的内容,因此我们可以写成这个近似的等式:
API (web 或 XML 页面) = DOM + JS (脚本语言)

DOM的数据类型

document:当一个成员返回 document 对象 (例如,元素的 ownerDocument 属性返回它所属于 document ) ,这个对象就是root document 对象本身

element: element 是指由 DOM API 中成员返回的类型为 element 的一个元素或节点。 例如, document.createElement() 方法会返回一个 node 的对象引用,也就是说这个方法返回了在DOM中创建的 element。

nodeList:nodeList 是一个元素的数组,如从 document.getElementsByTagName() 方法返回的就是这种类型。

attribute: 当 attribute 通过成员函数 (例如,通过 createAttribute()方法) 返回时,它是一个为属性暴露出专门接口的对象引用。

namedNodeMap: namedNodeMap 和数组类似,但是条目是由name或index访问的,虽然后一种方式仅仅是为了枚举方便,因为在 list 中本来就没有特定的顺序。

DOM常用核心接口

document.getElementById(id):可返回对拥有指定 ID 的第一个对象的引用

document.getElementsByTagName(name):可返回带有指定标签名的对象的集合。

document.createElement(name):通过指定名称创建一个元素

parentNode.appendChild(node):允许追加 DOMString 对象(即文本)

element.innerHTML:设置或获取HTML语法表示的元素的后代

element.style.left:只能获得element的行内样式

element.setAttribute():创建或改变某个新属性。

element.getAttribute():通过名称获取属性的值。

element.addEventListener():用于向指定元素添加事件句柄。

window.content:返回主内容窗口的Window对象.该属性只在包含有属性type="content-primary"的 (或者 tabbrowser 或者