Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从iframe的父窗口中删除id_Javascript_Prototypejs - Fatal编程技术网

Javascript 从iframe的父窗口中删除id

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(); 但这并没

由于各种原因,我一直在尝试从来自iframe的函数中删除父div。需要从dom中删除(不隐藏)的div具有唯一的id

假设我在家长中有一个div:

<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();