Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在iframe中查找div_Jquery_Iframe - Fatal编程技术网

Jquery 如何在iframe中查找div

Jquery 如何在iframe中查找div,jquery,iframe,Jquery,Iframe,我试图使用jquery在iframe中查找div。有没有比下面我用的更好的方法 $('#Iframe').contents().find('#MyDiv') function atmslidein(){ $("#customer").ready(function(){ if($('#customer').attr('src')=='ATM.html') { $('#customer').contents().find('.

我试图使用jquery在iframe中查找div。有没有比下面我用的更好的方法

$('#Iframe').contents().find('#MyDiv')

function atmslidein(){
   $("#customer").ready(function(){         
       if($('#customer').attr('src')=='ATM.html')
       {
          $('#customer').contents().find('.atm_page').css('margin-left', '270px'); 
          $('#customer').contents().find('.tele').css('display', 'none');
       }
    })
}
我花了将近一周的时间来实现这一目标:

$('#Iframe').contents().find('#MyDiv')
这就是为什么我尝试了另一种方法来访问iframe的div


无论如何,我发现了iframe文档应该具备的功能,只有这样,上述功能才能正常工作:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


我的问题解决了,谢谢但是有人能解释一下为什么这是必要的吗?

我认为
jQuery
不能以这种方式访问contentWindow/文档的内容。过去,我不得不这样做:

$('#iframe').each(function() {
    $('#MyDiv', this.contentWindow.document||this.contentDocument);
});
**请注意,
this.contentWindow | this.contentDocument
是跨IE和大多数其他浏览器正常工作所必需的。获得内容窗口后,需要选择文档。然后可以使用jQuery操作或遍历DOM,但前提是iframe的源位于同一个域中


**更新以修复在获取contentWindow/document后未指定文档的错误。

这仅在Iframe源与页面位于同一域时有效,如果不在,浏览器出于安全原因不允许它使用选择器上下文:

var frame = $('#frame_id');
var div = $('#mydiv', frame);

为什么不
$('#IFrame#MyDiv')
?@Polybos它是另一个文档,因此无法使用该选择器找到。什么不起作用?什么是客户?什么是
iframe
?忘掉#iframe。在我的例子中,iframe id是#customer。那么您是否发现上述函数有任何问题。它在firefox中运行良好。但在ie中,jquery文件第4089行(contents()函数)显示了这个问题。感谢您的帮助,应该是
this.contentWindow.document
,我认为'this.contentDocument.document'为空或不是空object@rajaishbt
this.contentDocument | | this.contentWindow.document
抱歉,请在更新后重试。我认为
contentWindow
contentDocument
在语义类似的地方.jQuery不能直接遍历iframe的内容文档,所以这不起作用。