文档树与DOM相同?

时间:2014-06-28 10:48:20

标签: html css dom

这是句子

  

引入伪类概念以允许基于的选择   位于文档树之外或不可能的信息   使用其他简单的选择器表达。

来自http://www.w3.org/TR/selectors/#pseudo-classes

“文档树”与DOM具有相同的含义还是其他内容?

2 个答案:

答案 0 :(得分:12)

DOM代表文档对象模型,描述构成(HTML)文档的元素的树形结构。

当CSS规范谈到文档树时,它引用同样的事情。

在您引用该文件的句子中,该信息表明信息(例如是否已访问过某个链接)未存储在DOM节点中。

查看Firebug检查器的屏幕截图,其中显示了此问题的DOM的一部分和DOM属性。

Firebug: Document tree excerpt of this question showing the link to the W3C docs and the DOM properties pane

在CSS中,您可以创建此选择器并将样式应用于已访问过的链接:

a:visited {
    ...
}

在Javascript可以访问的DOM节点中没有visited属性,因此这个信息是在DOM树之外

答案 1 :(得分:4)

为了将CSS与HTML结合使用,无论是将其称为文档树还是DOM树,都没有太大作用。作为使用HTML和CSS的作者,您需要知道的是树是HTML中标记的元素结构。

DOM 文档对象模型的缩写,是一组API,通过这些API可以访问和修改HTML或XML文档的元素。严格来说,DOM本身不是文档树(或 文档树),而是所述树的接口(尽管树本身可以根据 DOM实现。有关详细说明,请参阅DOM规范中的What is the Document Object Model?

此外,文档树可能不一定由DOM表示或接口,因为CSS可用于设置除HTML或XML DOM树之外的其他内容。 DOM只提供"文档树"概念的一个实现。这就是选择器规范(和相关规范)永远不会将文档树称为" DOM"或者" DOM树",除非特别提到DOM标准。

"文档树的定义"然后,根据CSS,可以在CSS2.1 spec

中找到
  

文档树
  源文档中编码的元素树。此树中的每个元素只有一个父元素,但根元素除外,它没有。

当源文档语言是HTML或XML,并且使用的实现是DOM时,生成的文档树是DOM树。