我有一个html页面,其中有一个iframe,其src属性指向另一个已经包含一些内容的html页面。
parent.html
<body>
<iframe src="child.html"></iframe>
</body>
child.html
<body>
<p>test1</p>
</body>
parent.html还有一个jquery函数,它试图将一个段落附加到child.html的主体:
$(function(){
var $iframe = $("iframe");
$iframe.ready(function(){
$iframe.contents().find("body").append("<p>test2</p>");
});
});
问题是该功能不起作用,该段落未被添加。有趣的是,如果我从iframe的src属性中删除“child.html”,则该段落将被添加到空白的html页面中。
是否无法从iframe修改html文档的内容(当文档已包含多个元素时)?
此外,跨域策略没有任何问题。
提前致谢。
答案 0 :(得分:1)
看起来代码在iframe内容实际加载之前正在执行。试试这段代码:
$(document).ready(function(){
var $iframe = $("iframe");
$iframe.on('load', (function(){
$iframe.contents().find("body").append("<p>test2</p>");
});
});