文档对象模型,提供了导航、访问结构化文档中的节点,以及对节点进行操作的能力。
结构化文档经过DOM解析器后,被解析为DOM树。
当浏览器装载一个HTML页面后,就获得了该HTML页面的DOM树。使用JS对这棵树进行修改,也就修改了HTML文档。
DOM为常用的HTML元素提供了一套完整的继承体系。
从页面document对象,到每一个常用元素,DOM模型都有对应的类。每个类都提供了对应的方法来操纵DOM元素及其属性、子类。
访问HTML元素:
DOM提供了三种方式访问HTML元素。
根据ID:document.getElementById(id值),返回匹配的元素对象
根据CSS选择器:document.querySelector(selector1,selector2...),返回第一个匹配到的元素对象。
document,querySelectorAll(selector1,selector2...),返回所有匹配到的元素对象。
利用节点关系:先找到一个元素,比如document元素。再使用访问节点关系的方法。如parentNode等等。
HTML元素中,对应到DOM树中的类,都有常用的属性、方法用来操纵相应的元素。具体不一一列举了。需要查相关资料。
window对象:
是JS脚本的顶层对象。一个window对应着一个window对象。JS中所定义个全局变量、函数是其属性和方法。
常用方法:
alert()、confirm()、prompt():弹出框
close():关闭窗口
focus()、blur():使窗口获得焦点、失去焦点
moveBy()、moveTo():移动窗口
open():打开一个新窗口
resizeBy()、resizeTo():重设窗口大小
scrollBy()、scrollTo():滚动窗口中的HTML文档
setInterval()、clearInterval()、setTimeout()、clearTimeout():定时器
常用属性:
closed:窗口是否为关闭状态
document:窗口内的HTML文档对象
frames:窗口内的frame对象
history:窗口的浏览历史对象。有back()、forward()、go(+/-n)方法
location:窗口内HTML文档的URL。有href、port、host、hostname、protocal、pathname常用属性
name:窗口名。
screen:屏幕对象。有width、height常用属性