--- title: Element.insertAdjacentElement() slug: Web/API/Element/insertAdjacentElement tags: - API - DOM - Element - Insertion - Méthodes translation_of: Web/API/Element/insertAdjacentElement --- <p>{{APIRef("DOM")}}</p> <p>La méthode <code>insertAdjacentElement()</code> insère un noeud d'élément donné à une position donnée<span id="result_box" lang="fr"><span> par rapport à l'élément sur lequel il est appelé.</span></span></p> <h2 id="Syntax" name="Syntax">Syntaxe</h2> <pre><em>targetElement</em>.insertAdjacentElement(<em>position</em>, <em>element</em>);</pre> <h3 id="Paramètres">Paramètres</h3> <dl> <dt>position</dt> <dd>Un objet {{domxref("DOMString")}} (<em>chaîne de caractères</em>) représentant la position par rapport à <code>targetElement</code> ; cela doit correspondre ( sans prendre en compte la casse ) à une des chaînes suivantes : <ul> <li><code style="color: red;">'beforebegin'</code> : Avant <code>targetElement</code> lui-même.</li> <li><code style="color: green;">'afterbegin'</code> : A l'intérieur de <code>targetElement</code>, avant son premier enfant.</li> <li><code style="color: blue;">'beforeend'</code> : A l'intérieur de <code>targetElement</code>, après son dernier enfant.</li> <li><code style="color: magenta;">'afterend'</code> : Après <code>targetElement</code> lui-même.</li> </ul> </dd> <dt>element</dt> <dd>L'élément à insérer dans l'arbre.</dd> </dl> <h3 id="Valeur_retournée">Valeur retournée</h3> <p>L'élément inséré ou <code>null</code> si l'insertion a échouée.</p> <h3 id="Exceptions">Exceptions</h3> <table class="standard-table"> <thead> <tr> <th scope="col">Exception</th> <th scope="col">Explications</th> </tr> </thead> <tbody> <tr> <td><code>SyntaxError</code></td> <td>La <code>position</code> donnée n'est pas une valeur reconnue.</td> </tr> <tr> <td><code>TypeError</code></td> <td>L'<code>element</code> spécifié n'est pas un élément valide.</td> </tr> </tbody> </table> <h3 id="Visualisation_des_positionnements">Visualisation des positionnements</h3> <pre><!-- <strong><code style="color: red;">beforebegin</code></strong> --> <code style="font-weight: bold;"><p></code> <!-- <strong><code style="color: green;">afterbegin</code></strong> --> foo <!-- <strong><code style="color: blue;">beforeend</code></strong> --> <code style="font-weight: bold;"></p></code> <!-- <strong><code style="color: magenta;">afterend</code></strong> --></pre> <div class="note"><strong>Note :</strong> Les positions <code>beforebegin</code> et <code>afterend</code> ne fonctionnent que si le noeud est dans l'arbre et s'il possède un élément parent.</div> <h2 id="Example" name="Example">Exemple</h2> <pre class="brush: js">beforeBtn.addEventListener('click', function() { var tempDiv = document.createElement('div'); tempDiv.style.backgroundColor = randomColor(); if (activeElem) { activeElem.insertAdjacentElement('beforebegin',tempDiv); } setListener(tempDiv); }); afterBtn.addEventListener('click', function() { var tempDiv = document.createElement('div'); tempDiv.style.backgroundColor = randomColor(); if (activeElem) { activeElem.insertAdjacentElement('afterend',tempDiv); } setListener(tempDiv); });</pre> <p>Une démo de notre <a href="https://mdn.github.io/dom-examples/insert-adjacent/insertAdjacentElement.html">insertAdjacentElement.html</a> est disponible sur Github ( avec le <a href="https://github.com/mdn/dom-examples/blob/master/insert-adjacent/insertAdjacentElement.html">code source</a> ). Nous avons un ensemble d'éléments {{htmlelement("div")}} dans un conteneur. Quand un élément reçoit un clic, il est sélectionné et vous pouvez appuyer sur les boutons <em>Insert before</em> (<em>insérer avant</em>) et <em>Insert after</em> (<em>insérer après</em>) pour insérer de nouveaux divs avant ou après l'élement sélectionné en utilisant <code>insertAdjacentElement()</code>.</p> <h2 id="Specification" name="Specification">Spécification</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Spécification</th> <th scope="col">Statut</th> <th scope="col">Commentaire</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('DOM WHATWG', '#dom-element-insertadjacentelement', 'insertAdjacentElement()')}}</td> <td>{{ Spec2('DOM WHATWG') }}</td> <td></td> </tr> </tbody> </table> <h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> <div class="hidden">La table de compatibilité sur cette page est génératée à partir de données structurées. Si vous souhaitez contribuer aux données, veuillez consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et nous envoyer une <em>pull request.</em></div> <p>{{Compat("api.Element.insertAdjacentElement")}}</p> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li>{{domxref("Element.insertAdjacentHTML()")}}</li> <li>{{domxref("Element.insertAdjacentText()")}}</li> <li>{{domxref("Node.insertBefore()")}}</li> <li>{{domxref("Node.appendChild()")}} ( même effet que <code>beforeend</code> )</li> </ul>