我创建了一个iframe,其内容通过jquery动态加载,就像这样,我希望iframe文档在加载后立即访问其内容:
jQuery('<iframe>', {
id: 'widgetFrm',
width: '100%'
})
.appendTo('#widgetDiv')
.on('load', function () {
jQuery(this).contents().find('body').append(data.html);
})
框架文档了解jquery,因为我使用了
if (typeof(jQuery) == "undefined") {
var iframeBody = document.getElementsByTagName("body")[0];
var jQuery = function (selector) { return parent.jQuery(selector, iframeBody);
}
有。在iframe中,我想在所有内容加载后访问其div元素,为此使用了jQuery(document).ready
(在动态加载的内容中)。
问题:以某种方式访问框架文档中的其自身元素对文档就绪块中的jquery 1.x不起作用!
document.getElementById('#someDiv')
返回null,jQuery('#someDiv').prop('scrollHeight')
返回undefined,尽管框架内容具有该元素(单击按钮时可以访问它!)。使用较新的jQuery版本(例如3.3.1),它可以工作,但是我目前无法更改该版本。还有另一种方法吗?
谢谢!