一、文档对象模型(DOM)
1.定义
文档对象模型(Document Object Model),简称 DOM,将所有页面内容表示为可以修改的对象。
document 对象是页面的主要“入口点”。我们可以使用它来更改或创建页面上的任何内容。
document.body.style.background='#f00';
2.DOM树
- <html> = document.documentElement
- <body> = document.body
- <head> = document.head
给定一个 DOM 节点,我们可以使用导航(navigation)属性访问其直接的邻居。
这些属性主要分为两组:
- 对于所有节点:parentNode,childNodes,firstChild,lastChild,previousSibling,nextSibling。
- 仅对于元素节点:parentElement,children,firstElementChild,lastElementChild,previousElementSibling,nextElementSibling。
1)下图是一张描述对象间链接的图片,通过这些链接我们可以在 DOM 节点之间移动。
2)下图是获取纯元素导航
二、浏览器对象模型(BOM)
浏览器对象模型(Browser Object Model),简称 BOM,表示由浏览器(主机环境)提供的用于处理文档(document)之外的所有内容的其他对象。
- navigator 对象提供了有关浏览器和操作系统的背景信息。它的属性中,最为常用的两个:
- navigator.userAgent — 关于当前浏览器
- navigator.platform — 关于平台(可以帮助区分 Windows/Linux/Mac 等)。
- location 对象允许我们读取当前 URL,并且可以将浏览器重定向到新的 URL。
alert(location.href); // 显示当前 URL
if (confirm("Go to Wikipedia?")) {
location.href = "https://wikipedia.org"; // 将浏览器重定向到另一个 URL
}