Javascript 将现有DIV移动到动态创建的iFrame no jQuery
正在尝试移动现有DIV:Javascript 将现有DIV移动到动态创建的iFrame no jQuery,javascript,iframe,Javascript,Iframe,正在尝试移动现有DIV: <div id="wrapper"></div> 出错 无法读取null的属性“parentNode” 我做错了什么?因为伪div在iFrame中,所以对document.getElementById'dummy'的调用将返回null。document.getElementById仅搜索原始网页文档中的元素。iFrame是它们自己的单独文档。因此,对dummyId.parentNode的调用试图访问null的parentNode,因为原始文档中
<div id="wrapper"></div>
出错
无法读取null的属性“parentNode”
我做错了什么?因为伪div在iFrame中,所以对document.getElementById'dummy'的调用将返回null。document.getElementById仅搜索原始网页文档中的元素。iFrame是它们自己的单独文档。因此,对dummyId.parentNode的调用试图访问null的parentNode,因为原始文档中不存在伪元素,这会导致错误 您需要从iFrameDoc中获取虚拟元素。试试这个:
var dummyID = iframeDoc.getElementById("dummy");
dummyID.parentNode.replaceChild(document.getElementById('wrapper'), dummyID);
注意,您还需要修改replaceChild调用,因为参数为newElem、oldElem、,您似乎已将它们交换。这引发了一个错误:未能在“节点”上执行“replaceChild”:参数1不是“节点”类型。似乎对我有效:我注意到在原始代码中您使用了wrapper而不是document.getElementById“wrapper”,因此您可以尝试:dummyID.parentNode.replaceChildwrapper,dummyID;
var dummyID = document.getElementById("dummy");
dummyID.parentNode.replaceChild(dummyID, wrapper);
var dummyID = iframeDoc.getElementById("dummy");
dummyID.parentNode.replaceChild(document.getElementById('wrapper'), dummyID);