aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/document/createdocumentfragment/index.md
blob: d4bf794671edc80acb423d9e425eb81030823f21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
title: document.createDocumentFragment
slug: Web/API/Document/createDocumentFragment
tags:
  - API
  - DOM
  - Document
  - HTML
  - Méthode
  - Reference
translation_of: Web/API/Document/createDocumentFragment
---
{{ApiRef("DOM")}}

Crée un nouvel objet vide de type {{domxref("DocumentFragment")}}.

## Syntaxe

    var fragment = document.createDocumentFragment();

`fragment` est une référence vers un objet vide de type {{domxref("DocumentFragment")}} .

## Description

Les objets `DocumentFragments` sont analogues à des nœuds du DOM, mais ne font jamais partie de l'arbre DOM. Le cas d'usage le plus courant consiste à créer un fragment pour y stocker des éléments, puis à ajouter en une seule opération le fragment à l'arbre DOM, ce qui a pour effet de le remplacer par tous ses éléments enfants.

Le principal avantage de cette méthode de mise à jour du DOM vient du fait que le fragment est stocké en mémoire, et pas dans l'arbre DOM lui-même, de sorte que le modifier ne déclenche pas de [reflow](http://code.google.com/speed/articles/reflow.html) (le calcul des positions et de la géométrie de chacun des éléments de la page affichée). Par conséquent, l´utilisation de fragments pour effectuer des mises à jour du DOM donne souvent lieu à une [amélioration des performance](http://ejohn.org/blog/dom-documentfragments/)s.

## Exemple

Cet exemple crée une liste des principaux navigateurs du web.

### HTML

```html
<ul id="ul">
</ul>
```

### JavaScript

```js
var element  = document.getElementById('ul'); // en supposant qu'ul existe
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);
```

### Résultat

{{EmbedLiveSample("Example", 600, 140)}}

## Spécification

| Spécification                                                                                                                            | Statut                           | Commentaire                                      |
| ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------ |
| {{SpecName('DOM WHATWG', '#dom-document-createdocumentfragment', 'Document.createDocumentFragment()')}} | {{Spec2('DOM WHATWG')}} | Définition initiale dans la spécification DOM 1. |

## Compatibilité des navigateurs

{{Compat("api.Document.createDocumentFragment")}}

## Voir aussi

- {{domxref("DOMImplementation.createDocument", "document.implementation.createDocument()")}}
- {{domxref("documentFragment")}}