Javascript 如何在iframe中选择div?
我正在尝试在iframe中获取div的内容,删除iframe,并仅显示div。我不明白为什么这样做行不通-我不确定是使用contentWindow还是contentDocument。。有什么建议吗?谢谢 我有一个id为“iframe”的div,其中的iframe id为“embedded_article”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
函数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);