如何使用 document.getElementById 在 iframe 中选择元素

新手上路,请多包涵

我有一个 iframe 像这样

<iframe name="myframe1" id="myframe1" width="100%" height="100%" src="a.html">
<html>
    <head></head>
    <frameset name="myframe2" cols="0%, 100%" border="0" frameBorder="0" frameSpacing="0">
        <frame name="page1" src="c.html" scrolling="no"></frame>
        <frame name="page2" src="d.html" >
            <html>
                <head></head>
                <body id="top">
                    <div id="div1">
                        <div id="div2">
                            <div id="div3">
                                <ul id="x">
                                    <li>a</li>
                                    <li>b</li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </body>
            </html>

        </frame>

    </frameset>
</html>
</iframe>

我想引用元素“x”。我尝试了几种方法,但找不到解决方案。

原文由 ishk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 811
2 个回答
document.getElementById('myframe1').contentWindow.document.getElementById('x')

小提琴

contentWindow 被所有浏览器支持,包括旧版本的IE。

请注意,如果 iframesrc 来自另一个域,由于 Same Origin Policy ,您将无法访问其内容。

原文由 Fabrício Matté 发布,翻译遵循 CC BY-SA 3.0 许可协议

您需要确保框架已完全加载,最好的方法是使用 onload:

 <iframe id="nesgt" src="" onload="custom()"></iframe>

function custom(){
    document.getElementById("nesgt").contentWindow.document;
    }

此功能将在 iframe 完全加载时自动运行。

原文由 Mostafa Esmaeili 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题