HTML DOM从哪里开始?窗口?文献?document.defaultView?

wei*_*lou 12 javascript dom document window

作为标题.

是否有一张介绍HTML DOM构造的图片?

小智 19

DOM(文档对象模型)从document节点开始.它被称为"根节点".

观察以下树(nodeType括号中对应的s):

[HTMLDocument](9)
    [DocumentType](10)
    [HTMLHTMLElement](1)
        [HTMLHeadElement](1)
            [HTMLTitleElement](1)
                [Text]Title(3)
        [HTMLBodyElement](1)
Run Code Online (Sandbox Code Playgroud)

树¹将由以下标记组成:

<!DOCTYPE HTML><html><head><title>Title</title></head></body></html>
Run Code Online (Sandbox Code Playgroud)

注意明显缺乏空白.添加空格会将文本节点添加到文档树中,并且显然使模拟更加困难.

window对象不是DOM的一部分.它是一个宿主对象,实现为完成ECMAScript实现的" 全局对象 ".它有自己的标准,可从W3C获得.尽管需要全局对象来完成ECMAScript实现,但DOM却不是.这在node.js环境中举例说明.

¹某些环境会忽略doctype节点.我观察到Opera 5-9和Safari 3.1作为表现出这种行为的环境.

  • 这是正确答案,DOM从`document`开始.BTW,`window`及其属性,方法和事件有时被称为"BOM"或浏览器对象模型. (7认同)
  • 对.DOM也与语言无关.它不仅限于JavaScript,也不限于ECMAScript. (3认同)