使用jQuery

时间:2016-10-29 11:13:13

标签: jquery html iframe

我有一个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文档的内容(当文档已包含多个元素时)?

此外,跨域策略没有任何问题。

提前致谢。

1 个答案:

答案 0 :(得分:1)

看起来代码在iframe内容实际加载之前正在执行。试试这段代码:

$(document).ready(function(){
    var $iframe = $("iframe");
    $iframe.on('load', (function(){
        $iframe.contents().find("body").append("<p>test2</p>");
    });
});