Js中的宿主对象:
包括浏览器中的window(BOM)和document(DOM)对象
一、 DOM对象
包括:Document、Element、Attribute、Event四大对象
1. Document
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
提示:Document对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。
Document 对象属性
属性 | 描述 |
body | 提供对 <body> 元素的直接访问。 对于定义了框架集的文档,该属性引用最外层的 <frameset>。 |
设置或返回与当前文档有关的所有 cookie。 | |
返回当前文档的域名。 | |
返回文档被最后修改的日期和时间。 | |
返回载入当前文档的文档的 URL。 | |
返回当前文档的标题。 | |
返回当前文档的 URL。 |
Document 对象方法
方法
描述
关闭用 document.open() 方法打开的输出流,并显示选定的数据。
返回对拥有指定 id 的第一个对象的引用。
返回带有指定名称的对象集合。
返回带有指定标签名的对象集合。
打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。
向文档写 HTML 表达式 或 JavaScript 代码。
等同于 write() 方法,不同的是在每个表达式之后写一个换行符。
2. Element
1. 首先介绍结点node的概念:
在 HTML DOM (文档对象模型)中,每个部分都是节点:
· 文档本身是文档节点
· 所有 HTML 元素是元素节点
· 所有 HTML 属性是属性节点
· HTML 元素内的文本是文本节点
· 注释是注释节点
2. 再来看Element对象
在 HTML DOM 中,Element 对象表示 HTML 元素。
Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。
NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。
下面的属性和方法可用于所有 HTML 元素上:
属性 / 方法 | 描述 |
设置或返回元素的快捷键。 | |
向元素添加新的子节点,作为最后一个子节点。 | |
返回元素属性的 NamedNodeMap。 | |
返回元素子节点的 NodeList。 | |
设置或返回元素的 class 属性。 | |
element.clientHeight | 返回元素的可见高度。 |
element.clientWidth | 返回元素的可见宽度。 |
克隆元素。 | |
比较两个元素的文档位置。 | |
设置或返回元素的文本方向。 | |
设置或返回元素的文本方向。 | |
返回元素的首个子。 | |
返回元素节点的指定属性值。 | |
返回指定的属性节点。 | |
返回拥有指定标签名的所有子元素的集合。 | |
element.getFeature() | 返回实现了指定特性的 API 的某个对象。 |
element.getUserData() | 返回关联元素上键的对象。 |
如果元素拥有指定属性,则返回true,否则返回 false。 | |
如果元素拥有属性,则返回 true,否则返回 false。 | |
如果元素拥有子节点,则返回 true,否则 false。 | |
设置或返回元素的 id。 | |
设置或返回元素的内容。 | |
在指定的已有的子节点之前插入新节点。 | |
设置或返回元素的内容。 | |
如果指定的 namespaceURI 是默认的,则返回 true,否则返回 false。 | |
检查两个元素是否相等。 | |
检查两个元素是否是相同的节点。 | |
如果元素支持指定特性,则返回 true。 | |
设置或返回元素的语言代码。 | |
返回元素的最后一个子元素。 | |
返回元素的 namespace URI。 | |
返回位于相同节点树层级的下一个节点。 | |
返回元素的名称。 | |
返回元素的节点类型。 | |
设置或返回元素值。 | |
合并元素中相邻的文本节点,并移除空的文本节点。 | |
element.offsetHeight | 返回元素的高度。 |
element.offsetWidth | 返回元素的宽度。 |
element.offsetLeft | 返回元素的水平偏移位置。 |
element.offsetParent | 返回元素的偏移容器。 |
element.offsetTop | 返回元素的垂直偏移位置。 |
返回元素的根元素(文档对象)。 | |
返回元素的父节点。 | |
返回位于相同节点树层级的前一个元素。 | |
从元素中移除指定属性。 | |
移除指定的属性节点,并返回被移除的节点。 | |
从元素中移除子节点。 | |
替换元素中的子节点。 | |
element.scrollHeight | 返回元素的整体高度。 |
element.scrollLeft | 返回元素左边缘与视图之间的距离。 |
element.scrollTop | 返回元素上边缘与视图之间的距离。 |
element.scrollWidth | 返回元素的整体宽度。 |
把指定属性设置或更改为指定值。 | |
设置或更改指定属性节点。 | |
element.setIdAttribute() | |
element.setIdAttributeNode() | |
element.setUserData() | 把对象关联到元素上的键。 |
element.style | 设置或返回元素的 style 属性。 |
设置或返回元素的 tab 键控制次序。 | |
返回元素的标签名。 | |
设置或返回节点及其后代的文本内容。 | |
设置或返回元素的 title 属性。 | |
element.toString() | 把元素转换为字符串。 |
返回 NodeList 中位于指定下标的节点。 | |
返回 NodeList 中的节点数。 |
总结:方法和属性大多是对于html元素(或者说是DOM结点)的遍历、设置、操作等。
3. Attribute
Attr 对象
在 HTML DOM 中,Attr 对象表示 HTML 属性。
HTML 属性始终属于 HTML 元素。
属性 / 方法 | 描述 |
如果属性是 id 类型,则返回 true,否则返回 false。 | |
返回属性的名称。 | |
设置或返回属性的值。 | |
如果已指定属性,则返回 true,否则返回 false。 |
4. Event
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
事件通常与函数结合使用,函数不会在事件发生前被执行!
事件句柄 (Event Handlers)
属性 | 此事件发生在何时... |
图像的加载被中断。 | |
元素失去焦点。 | |
域的内容被改变。 | |
当用户点击某个对象时调用的事件句柄。 | |
当用户双击某个对象时调用的事件句柄。 | |
在加载文档或图像时发生错误。 | |
元素获得焦点。 | |
某个键盘按键被按下。 | |
某个键盘按键被按下并松开。 | |
某个键盘按键被松开。 | |
一张页面或一幅图像完成加载。 | |
鼠标按钮被按下。 | |
鼠标被移动。 | |
鼠标从某元素移开。 | |
鼠标移到某元素之上。 | |
鼠标按键被松开。 | |
重置按钮被点击。 | |
窗口或框架被重新调整大小。 | |
文本被选中。 | |
确认按钮被点击。 | |
用户退出页面。 |
标准 Event 属性:
下面列出了 2 级 DOM 事件标准定义的属性。
属性 | 描述 |
返回布尔值,指示事件是否是起泡事件类型。 | |
返回布尔值,指示事件是否可拥可取消的默认动作。 | |
返回其事件监听器触发该事件的元素。 | |
返回事件传播的当前阶段。 | |
返回触发此事件的元素(事件的目标节点)。 | |
返回事件生成的日期和时间。 | |
返回当前 Event 对象表示的事件的名称。 |
标准 Event 方法:
下面列出了 2 级 DOM 事件标准定义的方法。IE 的事件模型不支持这些方法:
方法 | 描述 |
初始化新创建的 Event 对象的属性。 | |
通知浏览器不要执行与事件关联的默认动作。 | |
不再派发事件。 |
二、 BOM对象
包括:Window、Navigator、Screen、History、Location五大对象
1. Window
Window 对象表示浏览器中打开的窗口。
如果文档包含框架(frame 或 iframe标签),浏览器会为 HTML 文档创建一个 window对象,并为每个框架创建一个额外的 window对象。
注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。
Window 对象是全局对象,使用时直接使用它的属性和方法。Window 对象的 window 属性和 self 属性引用的都是它自己。当你想明确地引用当前窗口,而不仅仅是隐式地引用它时,可以使用这两个属性。
Window 对象属性
属性 | 描述 |
返回窗口是否已被关闭。 | |
设置或返回窗口状态栏中的默认文本。 | |
对 Document 对象的只读引用。请参阅 Document对象。 | |
对 History 对象的只读引用。请参数 History对象。 | |
返回窗口的文档显示区的高度。 | |
返回窗口的文档显示区的宽度。 | |
length | 设置或返回窗口中的框架数量。 |
用于窗口或框架的 Location 对象。请参阅 Location对象。 | |
设置或返回窗口的名称。 | |
对 Navigator 对象的只读引用。请参数 Navigator对象。 | |
返回对创建此窗口的窗口的引用。 | |
返回窗口的外部高度。 | |
返回窗口的外部宽度。 | |
pageXOffset | 设置或返回当前页面相对于窗口显示区左上角的 X 位置。 |
pageYOffset | 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 |
parent | 返回父窗口。 |
对 Screen 对象的只读引用。请参数 Screen对象。 | |
返回对当前窗口的引用。等价于 Window 属性。 | |
设置窗口状态栏的文本。 | |
返回最顶层的先辈窗口。 | |
window | window 属性等价于 self 属性,它包含了对窗口自身的引用。 |
screenLeft screenTop screenX screenY | 只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。 |
Window 对象方法
方法 | 描述 |
显示带有一段消息和一个确认按钮的警告框。 | |
把键盘焦点从顶层窗口移开。 | |
取消由 setInterval() 设置的 timeout。 | |
取消由 setTimeout() 方法设置的 timeout。 | |
关闭浏览器窗口。 | |
显示带有一段消息以及确认按钮和取消按钮的对话框。 | |
创建一个 pop-up 窗口。 | |
把键盘焦点给予一个窗口。 | |
可相对窗口的当前坐标把它移动指定的像素。 | |
把窗口的左上角移动到一个指定的坐标。 | |
打开一个新的浏览器窗口或查找一个已命名的窗口。 | |
打印当前窗口的内容。 | |
显示可提示用户输入的对话框。 | |
按照指定的像素调整窗口的大小。 | |
把窗口的大小调整到指定的宽度和高度。 | |
按照指定的像素值来滚动内容。 | |
把内容滚动到指定的坐标。 | |
按照指定的周期(以毫秒计)来调用函数或计算表达式。 | |
在指定的毫秒数后调用函数或计算表达式。 |
2. Navigator
Navigator 对象包含有关浏览器的信息。
3. Screen
Screen 对象包含有关客户端显示屏幕的信息。
4. History
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
History 对象属性
属性 | 描述 |
返回浏览器历史列表中的 URL 数量。 |
History 对象方法
5. Location
Location对象包含有关当前 URL 的信息。
Location对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
Location 对象属性
属性 | 描述 |
设置或返回从井号 (#) 开始的 URL(锚)。 | |
设置或返回主机名和当前 URL 的端口号。 | |
设置或返回当前 URL 的主机名。 | |
设置或返回完整的 URL。 | |
设置或返回当前 URL 的路径部分。 | |
设置或返回当前 URL 的端口号。 | |
设置或返回当前 URL 的协议。 | |
设置或返回从问号 (?) 开始的 URL(查询部分)。 |
Location 对象方法
可以使用window.location.href=”newurl”改变地址栏的地址并跳转。
注:以上的所有的属性和方法中被蓝色标注的为较为常见的内容。
附:BOM对象、DOM对象以及元素对象的关系图