Javascript 在IE中,当绑定到';加载';事件,此.contentDocument未定义

Javascript 在IE中,当绑定到';加载';事件,此.contentDocument未定义,javascript,jquery,internet-explorer,iframe,Javascript,Jquery,Internet Explorer,Iframe,好的,请大家耐心听我说,这次的设置很长 我有一个简单的页面。它加载一个iframe。在该iframe中是一个表单。我希望iframe中的表单通过jQuery与父页面交互 这在Firefox、Chrome和Safari中正常工作。你自己看看这里: 但是,在Internet Explorer 6/7/8/9中,它不起作用。load事件激发,但jQuery无法获取iframe内元素的句柄 我使用jQuery函数的第二个“context”参数设置选择器的上下文,如下所示:var form=$(“#my

好的,请大家耐心听我说,这次的设置很长

我有一个简单的页面。它加载一个iframe。在该iframe中是一个表单。我希望iframe中的表单通过jQuery与父页面交互

这在Firefox、Chrome和Safari中正常工作。你自己看看这里:

但是,在Internet Explorer 6/7/8/9中,它不起作用。load事件激发,但jQuery无法获取iframe内元素的句柄

我使用jQuery函数的第二个“context”参数设置选择器的上下文,如下所示:
var form=$(“#myform”),this.contentDocument)

下面是batty的故事。使用IE9中的F12开发工具,我可以在JavaScript中设置断点,并查看IE如何评估JavaScript。如果将鼠标悬停在
this
上,我可以看到它确实具有
contentDocument
属性但是,如果我将鼠标悬停在
this.contentDocument
上,它会告诉我它未定义

由于未定义,jQuery选择器不返回任何元素。同样,这只是在IE中,而IFRAME在同一个域上,所以它不是同一个源问题


有什么建议吗?

不要践踏Roatin的答案,但是这个问题也可以通过指定DOCTYPE声明来解决。Internet Explorer 8及更高版本要求它用于contentDocument。否则,正如他所说,contentWindow可以使用(对于IE的早期版本也是如此)。请参阅。

您是否尝试过
contentWindow
?请参阅@Roatin Marth-yes,
this.contentWindow.document
修复所有问题。你能把它作为一个答案,这样你就可以得到你应得的代表吗?