2013-05-26 34 views
1

我想从父文档使用下面的代码访问iframe中文档的元素,但不能让它工作出于某种原因。使用jquery从父页访问子IFrame中的元素

Parent.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Parent</title> 
     <script src='http://code.jquery.com/jquery-latest.min.js'> 
     </script> 
    </head> 
    <body> 
     <iframe id="iframe1" src="iframe.html"> 
     </iframe> 
     <script type='text/javascript'> 

      $('#iframe1').ready(function() 
      { 
      console.log($('#iframe1').contents().find("#testDiv").html()); 
      }); 
     </script> 
    </body> 
</html> 

Iframe.html的: '作品'

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Iframe</title> 
    </head> 
    <body> 
     <div id="testDiv"> 
      Works! 
     </div> 
    </body> 
</html> 

所有我在控制台日志得到的,而不是 '未定义'。我究竟做错了什么?

在此先感谢。

回答

6

尝试使用加载代替就绪。

$('#iframe1').load(function(){ 
    console.log($('#iframe1').contents().find("#testDiv").html()); 
}); 
+0

好吧,试了一下。 '域名,协议和端口必须匹配'。错误。但是从我的文件系统运行这些代码。 – nedR

+1

@nedR当涉及到文件系统的起源问题时,尝试使用Firefox。无论如何,如果你真的想做网络开发,你应该真的建立一个服务器。 – Musa

+0

好吧在Firefox中试了一下,它的工作原理! – nedR