La méthode Document importNode() crée une nouvelle copie du Node ou DocumentFragment spécifié à partir d'un autre document, afin qu'il puisse être inséré dans le document actuel. Il n'est pas encore inclus dans l'arbre des documents; Pour ce faire, vous devez appeler une méthode telle que appendChild () ou insertBefore ().

Syntaxe

var node = document.importNode(externalNode, deep);
externalNode
Le nouveau Node ou DocumentFragment à importer dans le document courant. Après l'importation, le nouveau parentNode du noeud est null, car il n'a pas encore été inséré dans l'arborescence du document.
deep
Une valeur booléenne qui indique s'il faut ou non importer la totalité de la sous-arborescence DOM provenant de externalNode. Si ce paramètre est true (vrai), alors externalNode et tous ses descendants sont copiés; si false (faux), seul le nœud unique, externalNode, est importé.

Note : Dans la spécification DOM4, deep est répertorié en tant qu'argument facultatif. S'il est omis, la méthode agit comme si la valeur de deep était true, par défaut, elle utilisait le clonage profond comme comportement par défaut. Pour créer un clone superficiel, la profondeur doit être définie sur false.

Ce comportement a été modifié dans la dernière spécification, et s'il est omis, la méthode agira comme si la valeur de deep était false. Bien que ce soit toujours facultatif, vous devriez toujours fournir l'argument deep à la fois pour la compatibilité en amont et en aval. Avec Gecko 28.0 (Firefox 28 / Thunderbird 28 / SeaMonkey 2.25 / Firefox OS 1.3), la console a averti les développeurs de ne pas omettre l'argument. À partir de Gecko 29.0 (Firefox 29 / Thunderbird 29 / SeaMonkey 2.26)), un clone superficiel est défini par défaut au lieu d'un clone profond.

Exemple

var iframe = document.getElementsByTagName("iframe")[0];
var oldNode = iframe.contentWindow.document.getElementById("myNode");
var newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);

Notes

Le noeud d'origine n'est pas supprimé du document d'origine. Le noeud importé est un clone de l'original.

 

Les nœuds provenant de documents externes doivent être clonés à l'aide de document.importNode() (ou adoptés avec document.adoptNode()) avant de pouvoir être insérés dans le document courant. Pour en savoir plus sur les problèmes de Node.ownerDocument, consultez la FAQ DOM du W3C (en anglais).

Gecko n'obligeait pas à utiliser document.importNode() et document.adoptNode() avant sa version 1.9. Depuis les versions 1.9 alphas, si un nœud n'est pas adopté ou importé avant d'être utilisé dans un autre document, l'exception WRONG_DOCUMENT_ERR est déclenchée (NS_ERROR_DOM_WRONG_DOCUMENT_ERR). implémentation dans le bug 47903.

 

Spécifications

Spécification Statut Commentaire
DOM
La définition de 'document.importNode()' dans cette spécification.
Standard évolutif  
Document Object Model (DOM) Level 2 Core Specification
La définition de 'document.importNode()' dans cette spécification.
Obsolete Définition initiale

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
importNodeChrome Support complet 1Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 9Safari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet 12Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet OuiSamsung Internet Android ?
deep parameter optionalChrome Support complet OuiEdge Support complet OuiFirefox Support complet 10IE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 10Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android ?

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
  

Voir aussi

 

Étiquettes et contributeurs liés au document

Contributeurs à cette page : mdnwebdocs-bot, fscholz, wbamberg, m-r-r, loella16, teoli, Hasilt, Mgjbot, BenoitL
Dernière mise à jour par : mdnwebdocs-bot,