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中选择div?_Javascript_Iframe - Fatal编程技术网

Javascript 如何在iframe中选择div?

Javascript 如何在iframe中选择div?,javascript,iframe,Javascript,Iframe,我正在尝试在iframe中获取div的内容,删除iframe,并仅显示div。我不明白为什么这样做行不通-我不确定是使用contentWindow还是contentDocument。。有什么建议吗?谢谢 我有一个id为“iframe”的div,其中的iframe id为“embedded_article” 函数getContentFromIframe() { var parent=document.getElementById('iframe'); var child=document

我正在尝试在iframe中获取div的内容,删除iframe,并仅显示div。我不明白为什么这样做行不通-我不确定是使用contentWindow还是contentDocument。。有什么建议吗?谢谢

我有一个id为“iframe”的div,其中的iframe id为“embedded_article”


函数getContentFromIframe()
{    
var parent=document.getElementById('iframe');
var child=document.getElementById('embedded_article');
var oldContent=child.contentWindow.document.innerHTML;
var newContent=child.contentWindow.document.getElementById('ec-article').innerHTML;
document.getElementById('iframe').removeChild(document.getElementById('embedded_article'));
parent.innerHTML=newContent;
}

要进入iFrame中的div,可以尝试以下方法

     var div = document.getElementById("YourIFrameID").contentWindow.document.body.getElementById("YOUR_DIV_ID")
你的例子是:

document.getElementById('iframe').removeChild(document.getElementById('embedded_article'));
应该看起来像:

var element = frames['iframe'].document.getElementById('embedded_article');

element.parentNode.removeChild(element);

window.frames['yourFrameId']
计算为与您的帧关联的
窗口
对象。使用
document.getElementById
时,您希望使用属于框架的
窗口的
文档
,而不是主窗口中的
文档
。其余的应该是自我解释。

这通常是浏览器不允许的,因为这是不安全的。@Teknolagi只要帧共享同一个域,他就可以尝试这样做。这不是正确的方法
document.getElementById('iframe')
返回外部窗口中的
iframe
元素,而不是框架内的
document
window
对象,因此它没有子元素。啊,好的。感谢您澄清,@GGGthis不起作用,只是说第一个document.getElementById(…)是空的
var element = frames['iframe'].document.getElementById('embedded_article');

element.parentNode.removeChild(element);