已经发现片段在构建动态html时非常有用 - 就像使用一包html元素一样,并且袋子本身在放置时会溶解 - 非常好。
我假设html元素和片段的方法是相同的,但我认为这是不正确的。
似乎片段有节点方法 - appendChild()
等 - 但没有更复杂的html元素方法,例如getElementsByTagName()
。
这个评估是否正确?还是我以一种新的方式在脚下拍摄自己?
答案 0 :(得分:6)
DocumentFragment
扩展了Node
界面,定义为
interface DocumentFragment : Node {
};
HTMLElement
从Element
延伸,其界面定义为
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
)。