Javascript 从iframe的父窗口中删除id
由于各种原因,我一直在尝试从来自iframe的函数中删除父div。需要从dom中删除(不隐藏)的div具有唯一的id 假设我在家长中有一个div:Javascript 从iframe的父窗口中删除id,javascript,prototypejs,Javascript,Prototypejs,由于各种原因,我一直在尝试从来自iframe的函数中删除父div。需要从dom中删除(不隐藏)的div具有唯一的id 假设我在家长中有一个div: <body> <div id="foo_123" class="bar">STUFF</div> 所以在这个例子中,curWin=foo_123 现在,在获取该变量的同一个函数中,我需要能够从父页面中完全删除该div。我确实有原型可供使用,我也试过这样做 $(curWin).remove(); 但这并没
<body>
<div id="foo_123" class="bar">STUFF</div>
所以在这个例子中,curWin=foo_123
现在,在获取该变量的同一个函数中,我需要能够从父页面中完全删除该div。我确实有原型可供使用,我也试过这样做
$(curWin).remove();
但这并没有起作用,它只是给出了$(curWin)为空的错误。但如果我回显curWin,它确实为我提供了正确的id
有没有关于我如何做到这一点的想法。我也尝试过使用removeChild
,但当它是父文档中
的子文档时,我又不确定如何使用它
请不要告诉我jQuery有多棒。我知道这很容易,但我没有这个项目的奢侈。使用,而不是。另外,获取整个元素,而不是ID:
var curWin = parent.document.getElementsByClassName('bar')[0];
curWin.parentNode.removeChild(curWin);
其他信息:
引述:
从帧的内部,脚本可以获得对父级的引用
通过窗口打开窗口。父级
如果顶部窗口中有prototype,请参见:
top.$(curWin).remove()代码>
它将在顶部窗口(它存在的地方)中查找“foo_123”
,而不是在iframe(它不存在的地方)传递原型的元素引用,将比重新搜索更快,并且可能会工作:
var curWin = window.top.document.getElementsByClassName('bar')[0]
然后你可以:
$(curWin).remove();
我发现,通过iFrame从父级访问元素的最佳方式如下(注意,iFrame将有一个id,如图所示,我使用了#iframID)
尝试:
var curWin=parent.top.document.getElementById('yourDivId');
$(curWin.remove();
原谅我,因为我已经被jQuery宠爱了,但是如果curWin
包含元素id的字符串,你不想使用document.getElementById(curWin).remove()
?@neurolace,。remove
是jQuery的糖,普通元素没有。通常在没有任何框架的情况下删除元素,您可以执行elemRef.parentNode.removeChild(elemRef)代码>啊,是的!一个小时把头撞在桌子上=没有结果。5分钟就成功了!谢谢我会尽快接受。
$(curWin).remove();
x=document.getElementById("iframID");
y=(x.contentWindow || x.contentDocument);
$(y.document).find("#foo_123").remove();
var curWin = parent.top.document.getElementById('yourDivId');
$(curWin).remove();