DOM是什么

dom对象和jquery对象的区别(这里归纳总结全了)(1)

HTML DOM

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树,这种结构被称为节点树:

dom对象和jquery对象的区别(这里归纳总结全了)(2)

  • 在节点树中,顶端节点被称为根(root)

  • 每个节点都有父节点、除了根(它没有父节点)

  • 一个节点可拥有任意数量的子

  • 同胞是拥有相同父节点的节点

  • 下面的图片展示了节点树的一部分,以及节点之间的关系:

    dom对象和jquery对象的区别(这里归纳总结全了)(3)

    编程接口

    可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

    HTML DOM Document 对象

    当浏览器载入 HTML 文档, 它就会成为 document 对象。document 对象是HTML文档的根节点与所有其他节点(元素节点,文本节点,属性节点, 注释节点)。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。

    HTML DOM 元素 (Element) 对象

    在 HTML DOM 中, 元素对象代表着一个 HTML 元素。元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点。NodeList 对象 代表了节点列表,类似于 HTML元素的子节点集合。所有主流浏览器都支持元素对象和NodeList 对象。

    HTML DOM 属性 (Attr) 对象

    在 HTML DOM 中, Attr 对象 代表一个 HTML 属性。所有主流浏览器都支持 Attr 对象和 NamedNodeMap 对象 (在HTML DOM中, NamedNodeMap对象表示一个无顺序的节点列表, 我们可通过节点名称来访问 NamedNodeMap 中的节点)

    HTML DOM 事件 (Event) 对象

    事件允许Javascript在HTML文档元素中注册不同事件处理程序。事件通常与函数结合使用,函数不会在事件发生前被执行!

    ,