HTML DOM Document importNode() 方法
- 上一頁 implementation
- 下一頁 inputEncoding
- 返回上一層 HTML DOM Documents
定義和用法
importNode()
方法從另一個文檔中導入節點。
第二個參數設置為 true
時,子節點也將被導入。
提示
導入的節點不會從原始文檔中刪除。
導入的節點是原始節點的副本。
另請參閱:
實例
從 iframe(另一個文檔)導入第一個 <h1> 元素:
const frame = document.getElementsById("myFrame"); const h1 = frame.contentWindow.document.getElementsByTagName("H1")[0]; const node = document.importNode(h1, true);
語法
document.importNode(node, deep)
參數
參數 | 描述 |
---|---|
node | 必需。來自另一個文檔的節點。 |
deep |
必需。
|
返回值
類型 | 描述 |
---|---|
節點 | 導入的節點。 |
拋出
如果 node 是 Document 節點或 DocumentType 節點,該方法將拋出代碼為 NOT_SUPPORTED_ERR
的 DOMException 異常,因為無法導入這些類型的節點。
技術細節
該方法的 node 參數是另一個文檔中定義的節點,返回值是適合插入該文檔的節點的副本。如果 deep 值為 true,那么還要復制該節點的所有子孫節點。無論如何,原始節點和它的子孫節點都不會被修改。返回的副本的 ownerDocument 屬性被設置為當前文檔,但 parentNode 屬性為 null,因為它還沒有插入文檔。在原始節點樹中注冊的事件監聽器函數不會被復制。
當導入 Element 節點時,只有在源文檔中明確設置的屬性才會被導入。當導入 Attr 節點時,將自動把它的 specified 屬性設置為 true。
瀏覽器支持
document.importNode()
是 DOM Level 2 (2001) 特性。
所有瀏覽器都支持它:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 9-11 | 支持 | 支持 | 支持 | 支持 |
- 上一頁 implementation
- 下一頁 inputEncoding
- 返回上一層 HTML DOM Documents