DOM如何表示与不同HTML元素对应的节点?
e.g:
<span>foo</span>
<div>foo</div>
这两个元素的DOM表示是否完全相同,但其中一个元素的显示属性设置为内联,另一个是否阻止?
换句话说 - 实际上只有一种类型的DOM节点有很多属性,或者实际上是不同的DOM节点对应不同类型的HTML元素?
答案 0 :(得分:2)
span
元素实现HTMLSpanElement
接口,div
元素实现HTMLDivElement
接口。元素具有不同的标记名称和一些其他差异。例如,div
元素具有align
属性,该属性反映了align
属性(尽管在HTML 4中声明已弃用且在HTML5中已过时,但仍然非常支持该属性)也可以在DOM中看到。)
与HTML元素对应的所有节点都是HTMLElement
个对象,它们也是Element
个对象,但它们也是不同类型的对象。
元素不需要任何默认渲染。在实践中,浏览器当然具有默认渲染,但是其他软件处理HTML文档不需要。并且在实践中,浏览器实现HTML5中指定的“预期呈现”,这意味着例如display: block
div
。但是,这是浏览器默认样式表的一部分,至少在概念上是这样,并且根本不需要在元素的DOM节点中反映出来。