jquery如何获取iframe的document对象

我用$(window.frames[0].document)这样或者dom对象document.getElementById(id).contentWindow都不行,最... 我用$(window.frames[0].document)这样或者dom对象document.getElementById(id).contentWindow都不行,最好的情况是alert对象为null,其他情况各种报错,jquery版本1.83,dtd是XHTML 1.0 Transitional,求教如何获取这个document,或者操作iframe的滚动条,以前用的document.getElementById(id)。contentWindow.scrollTo()等方法都无效,奇了怪了~ 展开
 我来答
belt217
推荐于2017-09-08 · TA获得超过691个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:126万
展开全部
1、你取得iframe的document的前提为这个iframe的地址是你域内的页面,
比如你设src为百度,取这个iframe的document时就会报拒绝访问的错误
2、我试过了 document.getElementById('myf').contentWindow.document 在ie与谷歌都行的
3、document.frames('iframename').document 这个方法只能在ie下面取得到
4、用火狐的firebug看看吧,有什么错都会显示出来,莫名其妙的事情什么时候都可能发生,
有时我直接取取window都报undefined
newdot
2013-07-03 · TA获得超过453个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:262万
展开全部

试试这样写:

$('#frameID').load(function () {
    $('#frameID').contents().find('a');//以iframe中找元素a为例
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷心Presence
2013-07-03 · TA获得超过127个赞
知道答主
回答量:49
采纳率:0%
帮助的人:37.1万
展开全部

W3C的标准告诉我们,可以通过Dom对象的contentDocument属性来返回文档对象。

var doc = document.getElementById('mainFrame' ).contentDocument

IE8开始支持,如果你的项目不用兼容IE6,IE7的话使用这种方式最好。

IE6,IE7需要如此访问

var doc = document.frames['mainFrame'].document;

兼容方式:

var doc = document.getElementById('mainFrame' ).contentDocument || document.frames['mainFrame'].document;

以上是Javascript原生方法:

使用Jquery则简单些

$("iframe").contents().find("selector")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式