如何使用document.getElementByIdselectiframe中的元素

我有这样的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”。 我尝试了几种方法,但我找不到解决scheme。

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

小提琴

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

请注意,如果iframesrc来自其他域,则由于“ 相同来源策略” ,您将无法访问其内容。

使用contentDocument来实现这一点

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