Spec-Zone.ru › Web APIs

Документ: метод importNode()

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Метод объекта Document importNode() создает копию узла Node или DocumentFragment из другого документа, чтобы его можно было вставить в текущий документ позже.

Импортированный узел еще не включен в дерево документа. Чтобы включить его, необходимо вызвать метод вставки, такой как appendChild() или insertBefore() с узлом, который уже находится в дереве документа.

В отличие от document.adoptNode(), исходный узел не удаляется из исходного документа. Импортированный узел является клоном исходного.

Синтаксис

importNode(externalNode)
importNode(externalNode, deep)

Параметры

externalNode

Внешний Node или DocumentFragment для импорта в текущий документ.

deep Необязательно

Логический флаг, значение которого по умолчанию false, управляет включением всего поддерева DOM узла externalNode в импорт.

  • Если deep установлено в true, то externalNode и все его потомки копируются.
  • Если deep установлено в false, то импортируется только externalNode — новый узел не имеет потомков.

Возвращаемое значение

Скопированный importedNode в рамках импортирующего документа.

Примечание: importedNode's Node.parentNode равен null, так как он еще не был вставлен в дерево документа!

Примеры

const iframe = document.querySelector("iframe");
const oldNode = iframe.contentWindow.document.getElementById("myNode");
const newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);

Примечания

Перед вставкой в текущий документ узлы из внешних документов должны быть:

  • скопированы с помощью document.importNode(); или
  • приняты с помощью document.adoptNode().

Примечание: Хотя Firefox в настоящее время не накладывает это ограничение, мы рекомендуем следовать этому правилу для повышения совместимости в будущем.

Дополнительные сведения о проблемах с Node.ownerDocument см. в FAQ по DOM W3C.

Спецификации

Спецификация
DOM
# ref-for-dom-document-importnode①

Совместимость с браузерами

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
importNode 1 12 1 9 1 18 4 10.1 1 1.0 4.4

См. также

  • document.adoptNode(), который ведет себя очень похоже на этот метод
  • Node.appendChild()
  • Node.insertBefore()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/importNode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API