在dom中,html元素和片段之间的功能区别是什么?

时间:2011-04-14 05:36:33

标签: javascript html dom html5

已经发现片段在构建动态html时非常有用 - 就像使用一包html元素一样,并且袋子本身在放置时会溶解 - 非常好。

我假设html元素和片段的方法是相同的,但我认为这是不正确的。

似乎片段有节点方法 - appendChild()等 - 但没有更复杂的html元素方法,例如getElementsByTagName()

这个评估是否正确?还是我以一种新的方式在脚下拍摄自己?

2 个答案:

答案 0 :(得分:6)

DocumentFragment扩展了Node界面,定义为

interface DocumentFragment : Node {
};

HTMLElementElement延伸,其界面定义为

interface HTMLElement : Element {
    attribute DOMString id;
    attribute DOMString title;
    attribute DOMString lang;
    attribute DOMString dir;
    attribute DOMString className;
};

Element反过来扩展了Node界面。它包含方法getElementsByTagName和其他几个方法,

interface Element : Node {
    ...
    NodeList getElementsByTagName(in DOMString name);
    ..
};

因此,简单地回答您的问题,文档片段和html元素都共享node interface

答案 1 :(得分:1)

DocumentFragment接口扩展了Node interface,从而提供了插入和克隆元素的方法,但 getElementsByTagName()等。这些内容可以在Document interface中找到(也可以扩展Node)。