Fragments, like you just read, are simply pieces of files that aren't placed next to each other on the drive. That might be kind of strange to think about, and nothing you would ever notice, but it's true. For example, when you create a new Microsoft Word file, you see the whole file in one place, like on the Desktop or in your Documents folder.
- A fragment occurs whenever you do these three things: You begin a group of words with a capital letter. You conclude this group of words with an end mark—either a period (.).
- Definition of fragment (Entry 1 of 2): a part broken off, detached, or incomplete The dish lay in fragments on the floor.
- A fragment will often be a subordinate clause, participle phrase, infinitive phrase, afterthought, lonely verb, or appositive. Each type of fragment has a marker that identifies it. Subordinate Clause Fragments.
The DocumentFragment
interface represents a minimal document object that has no parent. It is used as a lightweight version of Document
that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is due to the fact that the document fragment isn't part of the active document tree structure. Changes made to the fragment don't affect the document (even on reflow) or incur any performance impact when changes are made.
Constructor
DocumentFragment()
- Creates and returns a new
DocumentFragment
object.
Properties
This interface has no specific properties, but inherits those of its parent, Node
, and implements those of the ParentNode
interface.
DocumentFragment.childElementCount
Read only- Returns the amount of child
elements
theDocumentFragment
has. DocumentFragment.children
Read only- Returns a live
HTMLCollection
containing all objects of typeElement
that are children of theDocumentFragment
object. DocumentFragment.firstElementChild
Read only- Returns the
Element
that is the first child of theDocumentFragment
object, ornull
if there is none. DocumentFragment.lastElementChild
Read only- Returns the
Element
that is the last child of theDocumentFragment
object, ornull
if there is none.
Methods
This interface inherits the methods of its parent, Node
, and implements those of the ParentNode
interface.
DocumentFragment.append()
- Inserts a set of
Node
objects orDOMString
objects after the last child of the document fragment. DocumentFragment.prepend()
- Inserts a set of
Node
objects orDOMString
objects before the first child of the document fragment. DocumentFragment.querySelector()
- Returns the first
Element
node within theDocumentFragment
, in document order, that matches the specified selectors. DocumentFragment.querySelectorAll()
- Returns a
NodeList
of all theElement
nodes within theDocumentFragment
that match the specified selectors. DocumentFragment.getElementById()
- Returns the first
Element
node within theDocumentFragment
, in document order, that matches the specified ID. Functionally equivalent toDocument.getElementById()
.
Usage notes
A common use for DocumentFragment
is to create one, assemble a DOM subtree within it, then append or insert the fragment into the DOM using Node
interface methods such as appendChild()
or insertBefore()
. Doing this moves the fragment's nodes into the DOM, leaving behind an empty DocumentFragment
. Because all of the nodes are inserted into the document at once, only one reflow and render is triggered instead of potentially one for each node inserted if they were inserted separately.
This interface is also of great use with Web components: <template>
elements contain a DocumentFragment
in their HTMLTemplateElement.content
property.
An empty DocumentFragment
can be created using the document.createDocumentFragment()
method or the constructor.
Example
HTML
Fragment Sentence
JavaScript
Result
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'DocumentFragment' in that specification. | Living Standard | Added the constructor and the implementation of ParentNode . |
Selectors API Level 1 The definition of 'DocumentFragment' in that specification. | Obsolete | Added the querySelector() and querySelectorAll() methods. |
Document Object Model (DOM) Level 3 Core Specification The definition of 'DocumentFragment' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 2 Core Specification |
Document Object Model (DOM) Level 2 Core Specification The definition of 'DocumentFragment' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 1 Specification |
Document Object Model (DOM) Level 1 Specification The definition of 'DocumentFragment' in that specification. | Obsolete | Initial definition |
Browser compatibility
BCD tables only load in the browser
See also
The DocumentFragment
interface represents a minimal document object that has no parent. It is used as a lightweight version of Document
that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is due to the fact that the document fragment isn't part of the active document tree structure. Changes made to the fragment don't affect the document (even on reflow) or incur any performance impact when changes are made.
Constructor
DocumentFragment()
- Creates and returns a new
DocumentFragment
object.
Properties
This interface has no specific properties, but inherits those of its parent, Node
, and implements those of the ParentNode
interface.
DocumentFragment.childElementCount
Read only- Returns the amount of child
elements
theDocumentFragment
has. DocumentFragment.children
Read only- Returns a live
HTMLCollection
containing all objects of typeElement
that are children of theDocumentFragment
object. DocumentFragment.firstElementChild
Read only- Returns the
Element
that is the first child of theDocumentFragment
object, ornull
if there is none. DocumentFragment.lastElementChild
Read only- Returns the
Element
that is the last child of theDocumentFragment
object, ornull
if there is none.
Methods
This interface inherits the methods of its parent, Node
, and implements those of the ParentNode
interface.
DocumentFragment.append()
- Inserts a set of
Node
objects orDOMString
objects after the last child of the document fragment. DocumentFragment.prepend()
- Inserts a set of
Node
objects orDOMString
objects before the first child of the document fragment. DocumentFragment.querySelector()
- Returns the first
Element
node within theDocumentFragment
, in document order, that matches the specified selectors. DocumentFragment.querySelectorAll()
- Returns a
NodeList
of all theElement
nodes within theDocumentFragment
that match the specified selectors. DocumentFragment.getElementById()
- Returns the first
Element
node within theDocumentFragment
, in document order, that matches the specified ID. Functionally equivalent toDocument.getElementById()
.
Usage notes
A common use for DocumentFragment
is to create one, assemble a DOM subtree within it, then append or insert the fragment into the DOM using Node
interface methods such as appendChild()
or insertBefore()
. Doing this moves the fragment's nodes into the DOM, leaving behind an empty DocumentFragment
. Because all of the nodes are inserted into the document at once, only one reflow and render is triggered instead of potentially one for each node inserted if they were inserted separately.
This interface is also of great use with Web components: <template>
elements contain a DocumentFragment
in their HTMLTemplateElement.content
property.
An empty DocumentFragment
can be created using the document.createDocumentFragment()
method or the constructor.
Example
HTML
JavaScript
Result
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'DocumentFragment' in that specification. | Living Standard | Added the constructor and the implementation of ParentNode . |
Selectors API Level 1 The definition of 'DocumentFragment' in that specification. | Obsolete | Added the querySelector() and querySelectorAll() methods. |
Document Object Model (DOM) Level 3 Core Specification The definition of 'DocumentFragment' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 2 Core Specification |
Document Object Model (DOM) Level 2 Core Specification The definition of 'DocumentFragment' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 1 Specification |
Document Object Model (DOM) Level 1 Specification The definition of 'DocumentFragment' in that specification. | Obsolete | Initial definition |
Browser compatibility
BCD tables only load in the browser