为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

大话西游666 2019-08-27 16:56:21
如何使用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”。我尝试了几种方法,但我找不到解决方案。
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

document.getElementById('myframe1').contentWindow.document.getElementById('x')

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

请注意,如果iframesrc是从另一个域,您将无法访问其内容,由于同源策略。


查看完整回答
反对 回复 2019-08-27
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

使用contentDocument来实现这一目标

var iframe = document.getElementById('iframeId');var innerDoc = (iframe.contentDocument) 
               ? iframe.contentDocument 
               : iframe.contentWindow.document;var ulObj = innerDoc.getElementById("ID_TO_SEARCH");


查看完整回答
反对 回复 2019-08-27
?
精慕HU

TA贡献1845条经验 获得超8个赞

(这是添加到所选答案)

确保iframe在您之前加载

contentWindow.document

否则,你的getElementById意志null

PS:无法评论,评论仍然很低,但这是对所选答案的后续跟进,因为我花了一些很好的调试时间试图弄清楚我应该iframe在选择内部iframe元素之前强制加载。


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 2888 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信