BOM-JavaScript是运行在浏览器中的,所以提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window、document、location、navigator和screen等。通常称为浏览器对象模型(Brower Object Model)
Window对象是整个JavaScript脚本运行的顶层对象,它的常用属性如下:
document |
返回该窗口内装载的HTML文档 |
location |
返回该窗口装载的HTML文档的URL |
navigator |
返回浏览当前页面的浏览器,包含了一系列的浏览器属性,包括名称、版本号和平台等。 |
screen |
返回当前浏览者屏幕对象 |
history |
返回该浏览窗口的历史 |
提示:这些属性都是属于window对象的子对象,每个子对象内部也提供了各自的属性和方法来进行对浏览器的操作。
window对象的常用方法:
alert()、confirm()、prompt() |
分别用于弹出警告窗口、确认对话框和提示输入对话框。 |
close() |
关闭窗口 |
scrollBy()、scrollTo() |
滚动当前窗口的HTML文档 |
setInterval()、clearInterval() |
设置、删除定时器 |
DOM是文档对象模型(Document Object Model)的简称。当网页加载时,可以将结构化文档在内存中转换成对象的树。以下是HTML DOM树:
小结:简单的说DOM并不是一种技术,而是一种访问结构化文档的一种思想。借助DOM模型,我们可以对DOM树进行修改、删除、新增等操作,让结构化文档动态化。
DOM模型中的节点——文档可以说是由节点构成的集合。在DOM模型中有以下3种节点:
- 元素节点:各种标签就是这些元素节点的名称,例如<p>、<ul>等
- 文本节点:文本节点总是被包含在元素节点的内部
- 属性节点:一般用来修饰元素节点就称之为属性节点。
为了动态地修改HTML元素,须先访问HTML元素。DOM主要提供了两种方式来访问HTML元素:
- 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素。
2.利用节点关系访问HTML元素。常用的属性和方法如下:
parentNode |
返回当前节点的父节点 |
previousSibling |
返回当前节点的前一个兄弟节点 |
nextSibling |
返回当前节点的后一个兄弟节点 |
childNodes |
返回当前节点的所有子节点 |
firstChild |
返回当前节点的第一个子节点 |
lastChild |
返回当前节点的最后一个子节点 |
getElementsByTagName(tagName) |
返回当前节点的具有指定标签名的所有子节点 |