document对象是windows对象的属性,表示当前浏览器中加载的页面文档。document对象是BOM和DOM(文档对象模型,后面会详细讲解)共有的对象。
由于BOM没有统一的标准,各种浏览器的document对象特性并不完全相同,所以在使用document对象的时候需要考虑浏览器的兼容性,尽量使用各类浏览器都支持的属性。
1. Document对象的 属性
(1)与颜色有关的属性
- document.bgColor 页面背景色
- document.fgColor 页面的前景色
- document.linkColor 页面文档中连接的颜色
- document.vlinkColor 页面文档中访问过的链接颜色
- document.alinkColor 页面文档中激活链接的颜色
注:以上这五个属性不建议使用,根据W3C的标准它使用了一些旧特性。
(2)与HTML文件有关的属性
- document.domain 获取文档所在的域名
- document.referrer 返回链接到当前页面的那个页面的URL
- document.URL 当前页面的URL
- document.title 当前文档的标题,在运行时间不能改变
- document.lastModified 当前文档的最后修改日期
- document.cookie 设置或者获取Cookie的值
- document.location 设置或返回文档的URL
cookie是在不同页面之间传递参数的方法之一,也是在客户端保存数据常用的方法,直接设置document.cookie属性即可设置cookie,cookie是以普通文本方式保存的。
格式为若干组键值对的形式(name=value)的字符串,多组键值对之间用分号(;)分隔。例如:name=老邓;password=1234;除此之外还可以在cookie字符串上加特殊的属性。cookie支持以下属性:
expires=date: 表示cookie过期的时间,如果没设置该属性,cookie将在浏览器关闭时被删除;如果expires设置的是一个未来时间,那么在这个时间之前cookie均可使用。如果expires设置的是一个过去的时间,那么cookie会被立即删除。
domin=dominName: 表示允许访问cookie的安全域,通过设置该属性可以实现在多个域之间共享cookie的值。
path=allowPath: 表示允许访问cookie的服务端路径,只有在该路径下的页面才可以访问该cookie。
secure: 表示该cookie是安全的,只有在安全域内的站点才能访问该cookie。
使用cookie时需要注意:cookie允许保存的最大长度是4Kb,因此只能在cookie中保存少量数据;另外浏览器可能会禁用cookie,所以不建议在cookie中保存关键的参数或数据。
(3)集合属性
document对象具有一些集合类的属性,通过集合属性可以获取当前页面内所有的同类HTML元素。
属性 |
含义 |
all |
返回所有标记和对象 |
anchors |
返回文档中所有锚的集合,说明:IE中的document.anchors将返回具有name或者ID属性的锚,而在firefox中将返回name属性的锚 |
applets |
返回文档中所有applets的集合 |
embeds |
返回文档中所有embeds对象的集合 |
forms |
返回文档中所有表单的集合 |
images |
返回文档中所有img对象的集合 |
links |
返回文档中所有链接的集合,即所有设置了href属性的<a>元素方法 |
stylesheets |
返回所有样式属性对象 |
scripts |
返回所有script程序对象 |
2. Document对象的方法
- document.open 打开要输入的文档。执行该方法后,文档中的当前内容被清楚,可以使用write或writeln方法将新内容写到文档中。
- document.write 向文档中写入HTML代码。执行该方法后,写入内容插入到文档的当前位置,但该文档要在执行close方法后才能显示出来。
- document.writeln 向文档中写入HTML代码,不同的是writeln会在输出文字之后附加一个换行符\n。
- document.close 关闭文档,并显示所有使用write或writeln方法写入的内容。
- document.clear 清除当前文档的内容,刷新屏幕。
3. Document对象的事件
事件处理名 |
说明 |
demo |
onclick |
单击鼠标 |
|
ondbclick |
双击鼠标 |
|
onmousedown |
按下鼠标左键 |
|
onmouseup |
放开鼠标左键 |
|
onmouseover |
鼠标移到对象上 |
|
onmouseout |
鼠标离开对象 |
|
onmousemove |
移动鼠标 |
|
onselectstart |
开始选取对象内容 |
|
ondragstart |
开始以拖动方式移动选取对象内容 |
|
onkeydown |
按下键盘按键 |
|
onkeypress |
用户按下任意键,先产生keydown事件。若用户一直按住按键,则产生连续的keypress事件 |