HTML DOM Document 对象


HTML DOM Document 对象


HTML DOM 节点

在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点 :

  • 文档是一个文档节点。
  • 所有的HTML元素都是元素节点。
  • 所有 HTML 属性都是属性节点。
  • 文本插入到 HTML 元素是文本节点。are text nodes。
  • 注释是注释节点。

Document 对象

当浏览器载入 HTML 文档, 它就会成为 Document 对象

Document 对象是 HTML 文档的根节点。

Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。

提示: Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。

浏览器支持

所有主要浏览器都支持 Document 对象。

Document 对象属性和方法

HTML文档中可以使用以下属性和方法:

属性 / 方法 描述
[document.activeElement](prop-document-activeelement.html) 返回当前获取焦点元素
[document.addEventListener()](met-document-addeventlistener.html) 向文档添加句柄
[document.adoptNode(node)](/jsref/met-document-adoptnode.html) 从另外一个文档返回 adapded 节点到当前文档。
[document.anchors](coll-doc-anchors.html) 返回对文档中所有 Anchor 对象的引用。
document.applets 返回对文档中所有 Applet 对象的引用。 **注意:** HTML5 已不支持 元素。
[document.baseURI](prop-doc-baseuri.html) 返回文档的绝对基础 URI
[document.body](/jsref/prop-doc-body.html) 返回文档的body元素
[document.close()](met-doc-close.html) 关闭用 document.open() 方法打开的输出流,并显示选定的数据。
[document.cookie](prop-doc-cookie.html) 设置或返回与当前文档有关的所有 cookie。
[document.createAttribute()](met-document-createattribute.html) 创建一个属性节点
[document.createComment()](met-document-createcomment.html) createComment() 方法可创建注释节点。
[document.createDocumentFragment()](met-document-createdocumentfragment.html) 创建空的 DocumentFragment 对象,并返回此对象。
[document.createElement()](met-document-createelement.html) 创建元素节点。
[document.createTextNode()](met-document-createtextnode.html) 创建文本节点。
[document.doctype](prop-document-doctype.html) 返回与文档相关的文档类型声明 (DTD)。
[document.documentElement](prop-document-documentelement.html) 返回文档的根节点
[document.documentMode](prop-doc-documentmode.html) 返回用于通过浏览器渲染文档的模式
[document.documentURI](prop-document-documenturi.html) 设置或返回文档的位置
[document.domain](prop-doc-domain.html) 返回当前文档的域名。
document.domConfig **已废弃** 。返回 normalizeDocument() 被调用时所使用的配置。
[document.embeds](/jsref/coll-doc-embeds.html) 返回文档中所有嵌入的内容(embed)集合
[document.forms](coll-doc-forms.html) 返回对文档中所有 Form 对象引用。
[document.getElementsByClassName()](met-document-getelementsbyclassname.html) 返回文档中所有指定类名的元素集合,作为 NodeList 对象。
[document.getElementById()](met-document-getelementbyid.html) 返回对拥有指定 id 的第一个对象的引用。
[document.getElementsByName()](met-doc-getelementsbyname.html) 返回带有指定名称的对象集合。
[document.getElementsByTagName()](met-document-getelementsbytagname.html) 返回带有指定标签名的对象集合。
[document.images](coll-doc-images.html) 返回对文档中所有 Image 对象引用。
[document.implementation](prop-document-implementation.html) 返回处理该文档的 DOMImplementation 对象。
[document.importNode()](met-document-importnode.html) 把一个节点从另一个文档复制到该文档以便应用。
[document.inputEncoding](prop-document-inputencoding.html) 返回用于文档的编码方式(在解析时)。
[document.lastModified](prop-doc-lastmodified.html) 返回文档被最后修改的日期和时间。
[document.links](coll-doc-links.html) 返回对文档中所有 Area 和 Link 对象引用。
[document.normalize()](met-document-normalize.html) 删除空文本节点,并连接相邻节点
[document.normalizeDocument()](met-document-normalizedocument.html) 删除空文本节点,并连接相邻节点的
[document.open()](met-doc-open.html) 打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。
[document.querySelector()](met-document-queryselector.html) 返回文档中匹配指定的CSS选择器的第一元素
[document.querySelectorAll()](/jsref/met-document-queryselectorall.html) document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表
[document.readyState](prop-doc-readystate.html) 返回文档状态 (载入中……)
[document.referrer](prop-doc-referrer.html) 返回载入当前文档的文档的 URL。
[document.removeEventListener()](met-document-removeeventlistener.html) 移除文档中的事件句柄(由 addEventListener() 方法添加)
[document.renameNode()](met-document-renamenode.html) 重命名元素或者属性节点。
[document.scripts](/jsref/coll-doc-scripts.html) 返回页面中所有脚本的集合。
[document.strictErrorChecking](prop-document-stricterrorchecking.html) 设置或返回是否强制进行错误检查。
[document.title](prop-doc-title.html) 返回当前文档的标题。
[document.URL](prop-doc-url.html) 返回文档完整的URL
[document.write()](met-doc-write.html) 向文档写 HTML 表达式 或 JavaScript 代码。
[document.writeln()](met-doc-writeln.html) 等同于 write() 方法,不同的是在每个表达式之后写一个换行符。

警告 !!!

在 W3C DOM核心,文档对象 继承节点对象的所有属性和方法。

很多属性和方法在文档中是没有意义的。

HTML 文档对象可以避免使用这些节点对象和属性:

属性 / 方法 避免的原因
document.attributes 文档没有该属性
document.hasAttributes() 文档没有该属性
document.nextSibling 文档没有下一节点
document.nodeName 这个通常是 #document
document.nodeType 这个通常是 9(DOCUMENT_NODE)
document.nodeValue 文档没有一个节点值
document.ownerDocument 文档没有主文档
document.ownerElement 文档没有自己的节点
document.parentNode 文档没有父节点
document.previousSibling 文档没有兄弟节点
document.textContent 文档没有文本节点