如何在JavaScript中获取此子html元素?

时间:2012-06-15 15:37:39

标签: javascript html

我有一个看起来像这样的iframe:

<iframe id="iframe2" ...>
    #document
        <html>...</html>
</iframe>

我正在尝试使用iframe标记获取html下面的项目 在JavaScript中,当我这样做时:

document.getElementByID("iframe2")

这将返回正确的iframe。

然而,当我这样做时:

document.getElementByID("iframe2").childNodes

返回值为[]

document.getElementByID("iframe2").getElementsByTagName("#document")document.getElementByID("iframe2").getElementsByTagName("html")也会返回[]

如何访问html代码?
另外,#document标签叫做什么?

4 个答案:

答案 0 :(得分:6)

document.getElementByID("iframe2").contentWindow.document

或者,旧版IE不支持的变体,

document.getElementByID("iframe2").contentDocument

这会为您提供嵌入页面的document对象,然后您可以使用.documentElement.body.head属性来获取html / body /头DOM。

如果您想要嵌入页面的window对象,请使用contentWindow代替contentDocument

MDN有iframe scripting指南,您可能会觉得有帮助。

答案 1 :(得分:2)

请尝试以下代码:

var a = document.getElementById("iframe2").firstChild;

答案 2 :(得分:1)

试试这个:

var a = document.getElementById("iframe2").getElementsByTagName("*")[0];

答案 3 :(得分:0)

IFrame内容的网址与父网页的网址是否相同?如果没有,由于同源策略,您将无法访问IFrame内的任何内容。