使用iframe元素,
<iframe id="">
<html>
<head>
<title></title>
<body>
<element attribute=""></element>
<etc... />
</body>
</html>
</iframe>
我如何获得iframe的所有子元素,不包括iframe元素本身,将元素复制为文本,并将该文本附加到textarea元素,id为id,全部兼容:
<meta http-equiv="X-UA-Compatible" content="IE=8">
......使用JavaScript。
任何帮助将受到高度赞赏。
如果您不是在谈论来自不同框架的方法之间的通信,那么托管iframe的位置并不重要。如果您不想考虑这个概念,如果您想访问某些DOM元素,可以使用contentWindow
的HTMLIFrameElement
。在客户端允许使用此方法操作元素。更多细节在MDN中解释
contentWindow属性返回元素的Window对象。您可以使用此Window对象来访问iframe的文档及其内部DOM。此属性是只读的,但其属性可以像全局Window对象一样进行操作。
假设您有一个iframe及其Shadow DOM树,并且您想要访问使用span
id声明的foo
元素。
// HTMLIFrameElement
let someIframe = document.getElementBy("idOfIframe");
// Global Object of the Iframe
let frameWindow = someIframe.contentWindow;
// Dom Tree of the Target Window
let domTreeofFrame = frameWindow.document;
let textSpan = domTreeofFrame.getElementById("foo");