1.document
节点对象代表整个文档,每张网页都有自己的document
对象。window.document
属性就指向这个对象。
2.document
对象的获取。
- 正常的网页,直接使用
document
或window.document
。 iframe
框架里面的网页,使用iframe
节点的contentDocument
属性。- Ajax 操作返回的文档,使用
XMLHttpRequest
对象的responseXML
属性。 - 内部节点的
ownerDocument
属性。
3.document.defaultView
属性返回document
对象所属的window
对象。如果当前文档不属于window
对象,该属性返回null
。
4.对于 HTML 文档来说,document
对象一般有两个子节点。
- 第一个子节点是
document.
doctype
,指向<DOCTYPE>
节点,即文档类型(Document Type Declaration,简写DTD)节点。document.firstChild
通常就返回这个节点。 - 第二个子节点
document.
documentElement
属性返回当前文档的根元素节点(root)。
5.document.body
属性指向<body>
节点。
6.document.head
属性指向<head>
节点。
7.document.scrollingElement
属性返回文档的滚动元素。也就是说,当文档整体滚动时,到底是哪个元素在滚动。
- 标准模式下,这个属性返回的文档的根元素
document.documentElement
(即<html>
)。 - 兼容(quirk)模式下,返回的是
<body>
元素,如果该元素不存在,返回null
。
8.document.fullscreenElement
属性返回当前以全屏状态展示的 DOM 元素。如果不是全屏状态,该属性返回null
。
9.document.links
属性返回当前文档所有设定了href
属性的<a>
及<area>
节点。
10.document.forms
属性返回所有<form>
表单节点。
11.document.images
属性返回页面所有<img>
图片节点。
12.document.embeds
属性和document.plugins
属性,都返回所有<embed>
节点
13.document.scripts
属性返回所有<script>
节点。
14.document.styleSheets
属性返回文档内嵌或引入的样式表集合(CSS)。
15.document.documentURI
属性返回一个字符串,表示当前文档的网址。documentURI
继承自Document
接口,可用于所有文档。
16.document.URL
属性都返回一个字符串,表示当前文档的网址。URL
继承自HTMLDocument
接口,只能用于 HTML 文档。
17.document.domain
属性返回当前文档的域名,不包含协议和端口。
18.document.lastModified
属性返回一个字符串,表示当前文档最后修改的时间。
19.document.title
属性返回当前文档的标题。
20.document.characterSet
属性返回当前文档的编码,比如UTF-8
、ISO-8859-1
等等。
21.document.referrer
属性返回一个字符串,表示当前文档的访问者来自哪里。
22.document.dir
返回一个字符串,表示文字方向。rtl
表示文字从右到左,ltr
表示文字从左到右。
23.document.compatMode
属性返回浏览器处理文档的模式,可能的值为BackCompat
(向后兼容模式)和CSS1Compat
(严格模式)。
24.document.hidden
属性返回一个布尔值,表示当前页面是否可见。如果窗口最小化、浏览器切换了 Tab,都会导致导致页面不可见。
25.document.visibilityState
返回文档的可见状态。它的值有四种可能。
visible
:页面可见。注意,页面可能是部分可见,即不是焦点窗口,前面被其他窗口部分挡住了。hidden
:页面不可见,有可能窗口最小化,或者浏览器切换到了另一个 Tab。prerender
:页面处于正在渲染状态,对于用户来说,该页面不可见。unloaded
:页面从内存里面卸载了。
26.document.readyState
属性返回当前文档的状态,共有三种可能的值。
loading
:加载 HTML 代码阶段(尚未完成解析)interactive
:加载外部资源阶段complete
:加载完成
27.document.designMode
属性控制当前文档是否可编辑。该属性只有两个值on
和off
,默认值为off
。一旦设为on
,用户就可以编辑整个文档的内容。
28.document.currentScript
属性返回当前脚本所在的那个 DOM 节点,即<script>
元素的 DOM 节点。
29.document.implementation
属性返回一个DOMImplementation
对象。该对象有三个方法,主要用于创建独立于当前文档的新的 Document 对象。
DOMImplementation.createDocument()
:创建一个 XML 文档。DOMImplementation.createHTMLDocument()
:创建一个 HTML 文档。DOMImplementation.createDocumentType()
:创建一个 DocumentType 对象
30.document.open()
方法清除当前文档所有内容,使得文档处于可写状态。
31.document.close()
方法用来关闭document.open()
打开的文档。
32.document.write()
方法用于向当前文档写入内容。
33.document.writeln()
方法与write
方法完全一致,除了会在输出内容的尾部添加换行符。
34.document.querySelector()
方法接受一个 CSS 选择器作为参数,返回匹配该选择器的元素节点。
35.document.querySelectorAll()
方法与querySelector
用法类似,区别是返回包含所有匹配给定选择器的节点。
36.document.getElementsByTagName()
方法搜索 HTML 标签名,返回符合条件的元素。
37.document.getElementsByClassName()
方法返回一个类似数组的对象(HTMLCollection
实例),包括了所有class
名字符合指定条件的元素。
38.document.getElementsByName()
方法用于选择拥有name
属性的 HTML 元素,返回一个类似数组的的对象(NodeList
实例)。
39.document.getElementById()
方法返回匹配指定id
属性的元素节点。
40.document.elementFromPoint()
方法返回位于页面指定位置最上层的元素节点。参数依次是相对于当前视口左上角的横坐标和纵坐标,单位是像素。
41.document.elementsFromPoint()
返回一个数组,成员是位于指定坐标(相对于视口)的所有元素。
42.document.createElement()
方法用来生成元素节点,并返回该节点。
43.document.createTextNode()
方法用来生成文本节点(Text
实例),并返回该节点。它的参数是文本节点的内容。
44.document.createAttribute()
方法生成一个新的属性节点(Attr
实例),并返回它。参数是属性的名称。
45.document.createComment()
方法生成一个新的注释节点,并返回该节点。参数是一个字符串,会成为注释节点的内容。
46.document.createDocumentFragment()
方法生成一个空的文档片段对象(DocumentFragment
实例)。
47.document.createEvent()
方法生成一个事件对象(Event
实例)。参数是事件类型,比如UIEvents
、MouseEvents
、MutationEvents
、HTMLEvents
。
48.document.hasFocus()
方法返回一个布尔值,表示当前文档之中是否有元素被激活或获得焦点。
49.document.adoptNode()
方法将某个节点及其子节点,从原来所在的文档或DocumentFragment
里面移除,归属当前document
对象,返回插入后的新节点。
50.document.importNode()
方法则是从原来所在的文档或DocumentFragment
里面,拷贝某个节点及其子节点,让它们归属当前document
对象。
51.document.createNodeIterator()
方法返回一个子节点遍历器。第一个参数为所要遍历的根节点,第二个参数为所要遍历的节点类型。
52.document.createTreeWalker()
方法返回一个 DOM 的子树遍历器。第一个参数是所要遍历的根节点,第二个参数指定所要遍历的节点类型。
53.document.execCommand()
方法,改变内容的样式。返回值是一个布尔值。如果为false
,表示这个方法无法生效。
54.document.queryCommandSupported()
方法返回一个布尔值,表示浏览器是否支持document.execCommand()
的某个命令。
55.document.queryCommandEnabled()
方法返回一个布尔值,表示当前是否可用document.execCommand()
的某个命令。
56.document.getSelection()
这个方法指向window.getSelection()
,参见window
对象。