Document 类型是 JavaScript 中表示文档节点的类型。
文档对象 document 是 HTMLDocument 的实例(HTMLDocument 继承 Document),表示整个 HTML 页面。
document 是 window 对象的属性,是一个全局对象。

  • nodeType = 9
  • nodeName = “#document”
  • nodeValue = null
  • parentNode = null
  • ownerDocument = null
  • 子节点

    • DocumentType 最多一个
    • Element 最多一个
    • ProcessingInstruction
    • Comment

      文档子节点

  • document.documentElement

    • 获取整个html文档元素

      访问子节点的快捷方式,始终指向 HTML 页面中的元素。虽然 childNodes 中始终有元素,但使用 documentElement 属性可以更快更直接地访问该元素。

  • document.body

    • 在 HTMLDocument 中分别对应 body 元素。
  • document.head
    • 在 HTMLDocument 中分别对应 head 元素。

DOM 扩展

  • document.doctype

    • 取得 <!doctype> 的引用

      文档信息

  • document.title

    • title 对应获取或设置文档的标题。
  • document.URL
    • 取得完整的 URL
  • document.domain
    • 取得域名
  • document.referrer
    • 取得来源

      定位元素

      ```javascript document.getElementById(); doucmnet.getElementsByTagName(); document.getElementsByName();

document.getElementsByClassName();

document.querySelector(); document.querySelectorAll();

  1. 除了document.getElementById() / document.querySelector() 返回文档中出现的第一个元素,<br />其它都加返回一个 HTMLCollection 对象
  2. <a name="KpZiL"></a>
  3. ### Selectors API
  4. CSS 选择符的模式匹配 DOM 元素
  5. - querySelector();
  6. - 没有匹配返回 null
  7. - querySelectorAll();
  8. - 返回的 NodeList 实例是一个静态“快照”、非“实时”查询
  9. - 没有匹配返回 NodeList 实例
  10. - matchs()
  11. - 接收一个 CSS 选择符参数,元素匹配返回 true,否则返回 false
  12. <a name="spsHy"></a>
  13. ### getElementsByClassName()
  14. HTML5 新增
  15. - **参数 **一个或多个类名的字符串
  16. - **返回 **类名中包含相应类的元素的 NodeList
  17. > IE9及以上版本,以及现在代浏览器都支持
  18. <a name="ih2Ac"></a>
  19. ## HTMLCollection对象(类数组)
  20. - [] item()
  21. - 通过下标 index 来访问 HTMLCollection 取得特定的元素
  22. - ["name"] namedItem()
  23. - 通过元素中 name 属性访问 HTMLCollection 取得特定的(第一项)元素
  24. - length
  25. - 元素的个数
  26. <a name="Sve9x"></a>
  27. ## 所有元素 *
  28. 要取得文档中所有元素,可以给 getElementsByTagName() 传入*
  29. ```javascript
  30. var allElements = document.getElementsByTagName('*');
  31. console.log(allElements);
  32. // 返回包含页面中所有元素的 HTMLCollection 对象,顺序就是它们在页面中出现的顺序。
  33. // 因些第一项是 <html> 元素,第二项是 <head> 元素,以此类推。

特殊集合