public interface DocumentFragment
implements Node
org.w3c.dom.DocumentFragment |
DocumentFragment
是一个“轻量级”或“最小” Document
对象。 想要能够提取文档树的一部分或创建文档的新片段是非常常见的。 想象一下,通过移动碎片来执行用户命令,例如剪切或重新排列文档。 希望有一个可以容纳这种碎片的物体,为此目的使用一个节点是很自然的。 虽然Document
对象确实可以实现此角色,但Document
对象可能是重量级对象,具体取决于底层实现。 真正需要的是一个非常轻量级的对象。 DocumentFragment
就是这样一个对象。
此外,各种操作 - 例如将节点插入另一个Node
子节点 - 可能需要DocumentFragment
对象作为参数; 这会导致DocumentFragment
所有子节点被移动到此节点的子节点列表中。
DocumentFragment
节点的子节点是零个或多个节点,表示定义文档结构的任何子树的顶部。 DocumentFragment
节点不需要是格式良好的XML文档(尽管它们确实需要遵循强制形成的XML解析实体(可能有多个顶层节点)的规则)。 例如,一个DocumentFragment
可能只有一个孩子,并且该子节点可能是一个Text
节点。 这样的结构模型既不代表HTML文档,也不代表格式良好的XML文档。
当DocumentFragment
插入Document
(或任何其他Node
,可能需要子女)的子女DocumentFragment
,而不是DocumentFragment
本身插入Node
。 当用户希望创建兄弟节点时,这使得DocumentFragment
非常有用; DocumentFragment
充当这些节点的父节点,以便用户可以使用Node
接口中的标准方法,例如Node.insertBefore
和Node.appendChild
。
另见 Document Object Model (DOM) Level 3 Core Specification 。
Inherited constants |
---|
From interface org.w3c.dom.Node
|
Inherited methods |
|
---|---|
From interface org.w3c.dom.Node
|