如何使用jQuery访问iframe的内容?

我如何使用jQuery访问iframe的内容? 我试过这样做,但它不会工作:

iframe内容: <div id="myContent"></div>

jQuery: $("#myiframe").find("#myContent")

我如何访问我的内容?


类似于 jquery / javascript:访问一个iframe的内容,但接受的答案是不是我正在寻找。

你必须使用contents()方法:

 $("#myiframe").contents().find("#myContent") 

资料来源: http : //simple.procoding.net/2008/03/21/how-to-access-iframe-in-jquery/

 <html> <head> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> <script type="text/javascript"> $(function() { //here you have the control over the body of the iframe document var iBody = $("#iView").contents().find("body"); //here you have the control over any element (#myContent) var myContent = iBody.find("#myContent"); }); </script> </head> <body> <iframe src="mifile.html" id="iView" style="width:200px;height:70px;border:dotted 1px red" frameborder="0"></iframe> </body> </html> 

如果iframe的源是一个外部域,浏览器将隐藏iframe的内容(同源策略)。 解决方法是将外部内容保存在文件中,例如(在PHP中):

 <?php $contents = file_get_contents($external_url); $res = file_put_contents($filename, $contents); ?> 

然后,获取新的文件内容(string),并将其parsing为html,例如(在jquery中):

 $.get(file_url, function(string){ var html = $.parseHTML(string); var contents = $(html).contents(); },'html');