javascript - 向窗口的文档添加一个不是创建它的元素有什么害处吗?

标签 javascript dom

例如,假设我这样做:

var otherWindow = window.open("otherfile.html", "_blank");

一段时间后:

if(otherWindow.document && otherWindow.document.body) {
 var elem = document.createElement("DIV")
 elem.innerHTML = "hello here I am!";
 otherWindow.document.body.appendChild(elem);
}

这似乎工作正常,但我很好奇 elem 是用第一个窗口的文档创建的,但附加到第二个窗口的文档这一事实是否有任何缺点。这是一个很大的禁忌吗?

假设我这样做有我的理由,并且(因为该元素实际上是由库代码创建的)用“otherWindow.document”创建元素不是干净/简单的。

最佳答案

我认为至少在某些浏览器中你会没问题,但我认为可能会有异常(exception),而且我不知道 DOM 规范对此有何规定。我建议在您的目标浏览器中尝试一下。

还有 DOM importNode()该方法具有相当广泛的支持并且专为任务而设计,因此似乎是最安全的选择,也是我推荐的方法。

关于javascript - 向窗口的文档添加一个不是创建它的元素有什么害处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19126552/

相关文章:

javascript - 修复了 DIV 定位问题

javascript - 由于错误 c004e005,无法完成操作

javascript - 如何将导航栏显示设置从 flex 更改为 block 以响应显示?

javascript - 有关电话号码的信息

Javascript DOM 通过用户类型识别节点?

javascript - "Object doesn' t support method“在IE8中扩展Element.prototype时出错

Javascript:字符串到 HTML

javascript - 为每个循环提供 Javascript 帮助

php - 使用 Jquery 定位 PHP 输出的元素

javascript - jQuery 元素只显示部分文本