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
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
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 :
- clonés à l'aide de
document.importNode(); ou - adoptés à l'aide de
document.adoptNode().
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
- La méthode
document.importNode()