例如,说我这样做:
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”创建元素不会是干净/微不足道的。
答案 0 :(得分:2)
我认为至少在某些浏览器中你会好的,但我认为可能存在例外情况,我不知道DOM规范对此有何看法。我建议你在目标浏览器中尝试一下。
还有DOM importNode()
方法,它具有相当广泛的支持,专为任务而设计,所以这似乎是最安全的选择,也是我推荐的方法。
答案 1 :(得分:1)
除了变量访问和可能不会受到影响的潜在DOM问题之外,在您追加它的位置创建元素的位置并不重要。