document.importNode - Web API 接口参考 编辑
概述
将外部文档的一个节点拷贝一份,然后可以把这个拷贝的节点插入到当前文档中.
语法
var node = document.importNode(externalNode, deep);
node
- 导入当前文档的新节点. 新节点的
parentNode
是null
, 因为它还没有插入当前文档的文档树中,属于游离状态. externalNode
- 将要从外部文档导入的节点.
deep
可选- 一个布尔值,表明是否要导入节点的后代节点.
注意: 在DOM4规范中 (实现于Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7)) ,deep
是个可选的参数. 如果省略不写,则使用默认值 true
, 表示深度克隆. 如果你想使用浅克隆,则传入false参数.
在没有实现DOM4的浏览器中, 这个参数不可以省略.
例子
var iframe = document.getElementsByTagName("iframe")[0];
var oldNode = iframe.contentDocument.getElementById("myNode");
var newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);
备注
源节点不会从外部文档中删除,被导入的节点是源节点的一个拷贝.
将外部文档的节点插入当前文档之前,你必须使用 document.importNode()
从外部文档导入源节点,或者使用 document.adoptNode()
导入源节点, 想要了解更多的 Node.ownerDocument
问题,请参考 W3C DOM FAQ.
即使你不执行导入动作,就执行插入外部文档中的节点.Firefox目前也不会报错(如果严格按标准执行,很多已有的网站都无法正常运行). 我们鼓励开发者严格按标准修改自己已有的不符合上述标准的代码.
浏览器兼容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.规范
相关介绍
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论