javascript自学之路(二)————js对象类型之宿主对象

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

设置或返回与当前文档有关的所有 cookie。

domain

返回当前文档的域名。

lastModified

返回文档被最后修改的日期和时间。

referrer

返回载入当前文档的文档的 URL。

title

返回当前文档的标题。

URL

返回当前文档的 URL。

Document 对象方法

方法

描述

close()

关闭用 document.open() 方法打开的输出流,并显示选定的数据。

getElementById()

返回对拥有指定 id 的第一个对象的引用。

getElementsByName()

返回带有指定名称的对象集合。

getElementsByTagName()

返回带有指定标签名的对象集合。

open()

打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。

write()

向文档写 HTML 表达式 或 JavaScript 代码。

writeln()

等同于 write() 方法,不同的是在每个表达式之后写一个换行符。

 











2.      Element

1.      首先介绍结点node的概念:

在 HTML DOM (文档对象模型)中,每个部分都是节点:

·        文档本身是文档节点

·        所有 HTML 元素是元素节点

·        所有 HTML 属性是属性节点

·        HTML 元素内的文本是文本节点

·        注释是注释节点

2.      再来看Element对象

在 HTML DOM 中,Element 对象表示 HTML 元素。

Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。

NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。

下面的属性和方法可用于所有 HTML 元素上:

属性 / 方法

描述

element.accessKey

设置或返回元素的快捷键。

element.appendChild()

向元素添加新的子节点,作为最后一个子节点。

element.attributes

返回元素属性的 NamedNodeMap。

element.childNodes

返回元素子节点的 NodeList。

element.className

设置或返回元素的 class 属性。

element.clientHeight

返回元素的可见高度。

element.clientWidth

返回元素的可见宽度。

element.cloneNode()

克隆元素。

element.compareDocumentPosition()

比较两个元素的文档位置。

element.contentEditable

设置或返回元素的文本方向。

element.dir

设置或返回元素的文本方向。

element.firstChild

返回元素的首个子。

element.getAttribute()

返回元素节点的指定属性值。

element.getAttributeNode()

返回指定的属性节点。

element.getElementsByTagName()

返回拥有指定标签名的所有子元素的集合。

element.getFeature()

返回实现了指定特性的 API 的某个对象。

element.getUserData()

返回关联元素上键的对象。

element.hasAttribute()

如果元素拥有指定属性,则返回true,否则返回 false。

element.hasAttributes()

如果元素拥有属性,则返回 true,否则返回 false。

element.hasChildNodes()

如果元素拥有子节点,则返回 true,否则 false。

element.id

设置或返回元素的 id。

element.innerHTML

设置或返回元素的内容。

element.insertBefore()

在指定的已有的子节点之前插入新节点。

element.isContentEditable

设置或返回元素的内容。

element.isDefaultNamespace()

如果指定的 namespaceURI 是默认的,则返回 true,否则返回 false。

element.isEqualNode()

检查两个元素是否相等。

element.isSameNode()

检查两个元素是否是相同的节点。

element.isSupported()

如果元素支持指定特性,则返回 true。

element.lang

设置或返回元素的语言代码。

element.lastChild

返回元素的最后一个子元素。

element.namespaceURI

返回元素的 namespace URI。

element.nextSibling

返回位于相同节点树层级的下一个节点。

element.nodeName

返回元素的名称。

element.nodeType

返回元素的节点类型。

element.nodeValue

设置或返回元素值。

element.normalize()

合并元素中相邻的文本节点,并移除空的文本节点。

element.offsetHeight

返回元素的高度。

element.offsetWidth

返回元素的宽度。

element.offsetLeft

返回元素的水平偏移位置。

element.offsetParent

返回元素的偏移容器。

element.offsetTop

返回元素的垂直偏移位置。

element.ownerDocument

返回元素的根元素(文档对象)。

element.parentNode

返回元素的父节点。

element.previousSibling

返回位于相同节点树层级的前一个元素。

element.removeAttribute()

从元素中移除指定属性。

element.removeAttributeNode()

移除指定的属性节点,并返回被移除的节点。

element.removeChild()

从元素中移除子节点。

element.replaceChild()

替换元素中的子节点。

element.scrollHeight

返回元素的整体高度。

element.scrollLeft

返回元素左边缘与视图之间的距离。

element.scrollTop

返回元素上边缘与视图之间的距离。

element.scrollWidth

返回元素的整体宽度。

element.setAttribute()

把指定属性设置或更改为指定值。

element.setAttributeNode()

设置或更改指定属性节点。

element.setIdAttribute()

element.setIdAttributeNode()

element.setUserData()

把对象关联到元素上的键。

element.style

设置或返回元素的 style 属性。

element.tabIndex

设置或返回元素的 tab 键控制次序。

element.tagName

返回元素的标签名。

element.textContent

设置或返回节点及其后代的文本内容。

element.title

设置或返回元素的 title 属性。

element.toString()

把元素转换为字符串。

nodelist.item()

返回 NodeList 中位于指定下标的节点。

nodelist.length

返回 NodeList 中的节点数。

总结:方法和属性大多是对于html元素(或者说是DOM结点)的遍历、设置、操作等。

3.      Attribute

Attr 对象

在 HTML DOM 中,Attr 对象表示 HTML 属性。

HTML 属性始终属于 HTML 元素。

属性 / 方法

描述

attr.isId

如果属性是 id 类型,则返回 true,否则返回 false。

attr.name

返回属性的名称。

attr.value

设置或返回属性的值。

attr.specified

如果已指定属性,则返回 true,否则返回 false。

 

4.      Event

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

事件通常与函数结合使用,函数不会在事件发生前被执行!

事件句柄 (Event Handlers)

属性

此事件发生在何时...

onabort

图像的加载被中断。

onblur

元素失去焦点。

onchange

域的内容被改变。

onclick

当用户点击某个对象时调用的事件句柄。

ondblclick

当用户双击某个对象时调用的事件句柄。

onerror

在加载文档或图像时发生错误。

onfocus

元素获得焦点。

onkeydown

某个键盘按键被按下。

onkeypress

某个键盘按键被按下并松开。

onkeyup

某个键盘按键被松开。

onload

一张页面或一幅图像完成加载。

onmousedown

鼠标按钮被按下。

onmousemove

鼠标被移动。

onmouseout

鼠标从某元素移开。

onmouseover

鼠标移到某元素之上。

onmouseup

鼠标按键被松开。

onreset

重置按钮被点击。

onresize

窗口或框架被重新调整大小。

onselect

文本被选中。

onsubmit

确认按钮被点击。

onunload

用户退出页面。

                            标准 Event 属性:

下面列出了 2 级 DOM 事件标准定义的属性

属性

描述

bubbles

返回布尔值,指示事件是否是起泡事件类型。

cancelable

返回布尔值,指示事件是否可拥可取消的默认动作。

currentTarget

返回其事件监听器触发该事件的元素。

eventPhase

返回事件传播的当前阶段。

target

返回触发此事件的元素(事件的目标节点)。

timeStamp

返回事件生成的日期和时间。

type

返回当前 Event 对象表示的事件的名称。

 

标准 Event 方法:

下面列出了 2 级 DOM 事件标准定义的方法。IE 的事件模型不支持这些方法:

方法

描述

initEvent()

初始化新创建的 Event 对象的属性。

preventDefault()

通知浏览器不要执行与事件关联的默认动作。

stopPropagation()

不再派发事件。

 

二、  BOM对象

包括:Window、Navigator、Screen、History、Location五大对象

1.      Window

Window 对象表示浏览器中打开的窗口。

如果文档包含框架(frame iframe标签),浏览器会为 HTML 文档创建一个 window对象,并为每个框架创建一个额外的 window对象。

注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。

 

Window 对象是全局对象,使用时直接使用它的属性和方法。Window 对象的 window 属性和 self 属性引用的都是它自己。当你想明确地引用当前窗口,而不仅仅是隐式地引用它时,可以使用这两个属性。

 

Window 对象属性

属性

描述

closed

返回窗口是否已被关闭。

defaultStatus

设置或返回窗口状态栏中的默认文本。

document

对 Document 对象的只读引用。请参阅 Document对象

history

对 History 对象的只读引用。请参数 History对象

innerheight

返回窗口的文档显示区的高度。

innerwidth

返回窗口的文档显示区的宽度。

length

设置或返回窗口中的框架数量。

location

用于窗口或框架的 Location 对象。请参阅 Location对象

name

设置或返回窗口的名称。

Navigator

对 Navigator 对象的只读引用。请参数 Navigator对象

opener

返回对创建此窗口的窗口的引用。

outerheight

返回窗口的外部高度。

outerwidth

返回窗口的外部宽度。

pageXOffset

设置或返回当前页面相对于窗口显示区左上角的 X 位置。

pageYOffset

设置或返回当前页面相对于窗口显示区左上角的 Y 位置。

parent

返回父窗口。

Screen

对 Screen 对象的只读引用。请参数 Screen对象

self

返回对当前窗口的引用。等价于 Window 属性。

status

设置窗口状态栏的文本。

top

返回最顶层的先辈窗口。

window

window 属性等价于 self 属性,它包含了对窗口自身的引用。

screenLeft

screenTop

screenX

screenY

只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。

Window 对象方法

方法

描述

alert()

显示带有一段消息和一个确认按钮的警告框。

blur()

把键盘焦点从顶层窗口移开。

clearInterval()

取消由 setInterval() 设置的 timeout。

clearTimeout()

取消由 setTimeout() 方法设置的 timeout。

close()

关闭浏览器窗口。

confirm()

显示带有一段消息以及确认按钮和取消按钮的对话框。

createPopup()

创建一个 pop-up 窗口。

focus()

把键盘焦点给予一个窗口。

moveBy()

可相对窗口的当前坐标把它移动指定的像素。

moveTo()

把窗口的左上角移动到一个指定的坐标。

open()

打开一个新的浏览器窗口或查找一个已命名的窗口。

print()

打印当前窗口的内容。

prompt()

显示可提示用户输入的对话框。

resizeBy()

按照指定的像素调整窗口的大小。

resizeTo()

把窗口的大小调整到指定的宽度和高度。

scrollBy()

按照指定的像素值来滚动内容。

scrollTo()

把内容滚动到指定的坐标。

setInterval()

按照指定的周期(以毫秒计)来调用函数或计算表达式。

setTimeout()

在指定的毫秒数后调用函数或计算表达式。

 

2.      Navigator

Navigator 对象包含有关浏览器的信息。

3.      Screen

Screen 对象包含有关客户端显示屏幕的信息。

4.      History

History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。

History 对象属性

属性

描述

length

返回浏览器历史列表中的 URL 数量。

History 对象方法

方法

描述

back()

加载 history 列表中的前一个 URL。

forward()

加载 history 列表中的下一个 URL。

go()

加载 history 列表中的某个具体页面。

 

5.      Location

Location对象包含有关当前 URL 的信息。

Location对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

Location 对象属性

属性

描述

hash

设置或返回从井号 (#) 开始的 URL(锚)。

host

设置或返回主机名和当前 URL 的端口号。

hostname

设置或返回当前 URL 的主机名。

href

设置或返回完整的 URL。

pathname

设置或返回当前 URL 的路径部分。

port

设置或返回当前 URL 的端口号。

protocol

设置或返回当前 URL 的协议。

search

设置或返回从问号 (?) 开始的 URL(查询部分)。

Location 对象方法

属性

描述

assign()

加载新的文档。

reload()

重新加载当前文档。

replace()

用新的文档替换当前文档。

         可以使用window.location.href=”newurl”改变地址栏的地址并跳转。

         注:以上的所有的属性和方法中被蓝色标注的为较为常见的内容。

 

 

 

附:BOM对象、DOM对象以及元素对象的关系图


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值