Jquery 如何在iframe中查找div
我试图使用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('.
$('#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@rajaishbtthis.contentDocument | | this.contentWindow.document
抱歉,请在更新后重试。我认为contentWindow
和contentDocument
在语义类似的地方.jQuery不能直接遍历iframe的内容文档,所以这不起作用。