Creates a new empty DocumentFragment.
Syntax
var fragment = document.createDocumentFragment();
fragment is a reference to an empty DocumentFragment object.
Description
DocumentFragments are DOM Nodes. They are never part of the main DOM tree. The usual use case is to create the document fragment, append elements to the document fragment and then append the document fragment to the DOM tree. In the DOM tree, the document fragment is replaced by all its children.
Since the document fragment is in memory and not part of the main DOM tree, appending children to it does not cause page reflow (computation of element's position and geometry). Consequently, using document fragments often results in better performance.
Example
This example creates a list of major web browsers.
HTML
<ul id="ul"> </ul>
JavaScript
var element  = document.getElementById('ul'); // assuming ul exists
var fragment = document.createDocumentFragment();
var browsers = ['Firefox', 'Chrome', 'Opera', 
    'Safari', 'Internet Explorer'];
browsers.forEach(function(browser) {
    var li = document.createElement('li');
    li.textContent = browser;
    fragment.appendChild(li);
});
element.appendChild(fragment);
Result
Specifications
| Specification | Status | Comment | 
|---|---|---|
| DOM The definition of 'Document.createDocumentFragment()' in that specification. | Living Standard | Initial definition in the DOM 1 specification. | 
Browser compatibility
| Feature | Firefox (Gecko) | Chrome | Edge | Internet Explorer | Opera | Safari | 
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | 
| Feature | Firefox Mobile (Gecko) | Android | Edge | IE Mobile | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | ? | ? | (Yes) | ? | ? | ? | 
See also
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        fscholz, 
        Sheppy, 
        Coalpha, 
        k-gun, 
        erikadoyle, 
        aldendaniels, 
        srobynk, 
        Sebastianz, 
        worc, 
        samccone, 
        teoli, 
        MHasan, 
        kscarfone, 
        Cobra, 
        ethertank, 
        jonfen, 
        blastart, 
        dbruant, 
        Brettz9, 
        Federico, 
        Ptak82, 
        Nickolay, 
        RobG, 
        Maian, 
        Dria, 
        JesseW
                    
                    
                       Last updated by:
                      fscholz,