DOM(Document Object Model):

  • DOM是一种编程接口,提供了对HTML或XML文档的结构化访问和操作。
  • 它将文档表示为一棵树形结构,其中每个节点都是一个对象,可以通过操作这些对象来改变文档的内容、结构和样式。
  • DOM树的根节点是document对象,它代表整个文档。其他元素、文本、属性等都是document对象的子节点。

基本概念:

  • 节点:文档中的一个元素、文本、注释等都是节点。
  • 元素节点:表示HTML或XML中的标签元素,如<div><p>等。
  • 文本节点:表示标签中的文本内容。
  • 属性节点:元素的属性,如idclass等。
  • DOM提供一组API,如getElementByIdcreateElementappendChild等,用于访问和修改DOM树。

作用:

  • 通过DOM,开发人员可以使用JavaScript操作页面的内容、结构和样式。
  • 可以动态创建、修改和删除元素、属性,从而实现动态网页效果。

BOM(Browser Object Model):

  • BOM提供了与浏览器窗口进行交互的对象和方法。它管理浏览器窗口、控制浏览器的行为和提供与浏览器功能相关的信息。
  • BOM并没有标准化的规范,它的实现在不同的浏览器中可能会有些差异。

一些常见的BOM对象和功能:

  • window对象:表示浏览器窗口,它是BOM的核心对象,提供了多种方法和属性,如alertsetTimeoutlocation等。
  • navigator对象:提供了浏览器的信息,如浏览器名称、版本等。
  • location对象:提供了当前文档的URL信息,如URL的路径、参数等。
  • history对象:提供了浏览器历史记录的管理功能,可以通过backforward等方法控制浏览器的后退和前进。

总结:

  • DOM是用于访问和操作HTML或XML文档的编程接口,它以树状结构表示文档。
  • BOM是用于与浏览器窗口进行交互的对象和方法,提供了与浏览器相关的功能和信息。