Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Document : méthode adoptNode()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode adoptNode() de l'interface Document transfère un nœud d'un autre document vers le document de la méthode. Le nœud adopté et son sous-arbre sont supprimés de leur document d'origine (le cas échéant), et leur ownerDocument est changé pour le document actuel. Le nœud peut ensuite être inséré dans le document actuel.

Syntaxe

js
adoptNode(externalNode)

Paramètres

externalNode

Le nœud à adopter provenant d'un autre document.

Valeur de retour

Le importedNode copié dans le contexte du document importateur.

Après l'appel de cette méthode, importedNode et externalNode sont le même objet.

Note : Le Node.parentNode de importedNode est null, car il n'a pas encore été inséré dans l'arborescence du document !

Exemples

js
const iframe = document.querySelector("iframe");
const iframeImages = iframe.contentDocument.querySelectorAll("img");
const newParent = document.getElementById("images");

iframeImages.forEach((imgEl) => {
  newParent.appendChild(document.adoptNode(imgEl));
});

Notes

Avant de pouvoir être insérés dans le document courant, les nœuds provenant de documents externes doivent soit être :

Pour en savoir plus sur les problèmes liés à Node.ownerDocument, consultez la FAQ DOM du W3C (angl.).

Spécification

Specification
DOM
# ref-for-dom-document-adoptnode①

Compatibilité des navigateurs

Voir aussi