2013-05-26 80 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