HTML DOM 문서 importNode() 메서드

定义和用法

importNode() 方法从另一个文档中导入节点。

第二个参数设置为 true 时,子节点也将被导入。

提示

导入的节点不会从原始文档中删除。

导入的节点是原始节点的副本。

另请参阅:

document.adoptNode() 方法

element.cloneNode() 方法

实例

从 iframe(另一个文档)导入第一个 <h1> 元素:

const frame = document.getElementsById("myFrame");
const h1 = frame.contentWindow.document.getElementsByTagName("H1")[0];
const node = document.importNode(h1, true);

亲自试一试

语法

document.importNode(该方法, 파라미터는 다른 문서에서 정의된 노드입니다. 반환 값은 해당 문서에 삽입하기 적합한 노드의 복사본입니다.如果)

参数

参数 类型
该方法 必需。来自另一个文档的节点。
파라미터는 다른 문서에서 정의된 노드입니다. 반환 값은 해당 문서에 삽입하기 적합한 노드의 복사본입니다.如果

必需。

  • 必需。
  • false:仅导入节点本身。

true:子节点(后代)也被导入。

返回值 类型
描述 节点

导入的节点

抛出 该方法 如果 是 Document 节点或 DocumentType 节点,该方法将抛出代码为 NOT_SUPPORTED_ERR

의 DOMException 예외가 발생합니다.因为这些类型的节点无法导入。

技术细节 该方法 node 파라미터는 다른 문서에서 정의된 노드입니다. 반환 값은 해당 문서에 삽입하기 적합한 노드의 복사본입니다.如果 deep

Element 노드를 가져오는 경우, 원본 문서에서 명시적으로 설정된 속성만이 가져오されます. Attr 노드를 가져오는 경우, 자동으로 그 specified 속성을 true로 설정합니다.值为 true,那么还要复制该节点的所有子孙节点。无论如何,原始节点和它的子孙节点都不会被修改。返回的副本的 ownerDocument 속성이 현재 문서로 설정되며, parentNode 속성이 null로 설정되었습니다.因为它还没有插入文档。在原始节点树中注册的事件监听器函数不会被复制。

브라우저 지원

document.importNode() DOM Level 2 (2001) 특성입니다。

모든 브라우저가 그것을 지원합니다:

크롬 IE 에지 파이어폭스 사파리 오페라
크롬 IE 에지 파이어폭스 사파리 오페라
지원 9-11 지원 지원 지원 지원