创建一个<iframe>元素,并使用jQuery </iframe>将html内容附加到其中

时间:2010-11-07 22:10:34

标签: jquery iframe

是否可以使用jQuery创建<iframe>元素并在不指定src属性的情况下向其添加html内容?

问题是我需要创建一个iframe并且我已经有了它的内容(我把它作为AJAX响应)。不幸的是,我无法指定我从src属性获得响应的URL。我想做点什么:

$('<iframe id="someId"/>').append(response).appendTo("#someDiv");

3 个答案:

答案 0 :(得分:34)

试试这个:

$('<iframe id="someId"/>').appendTo('#someDiv')
                          .contents().find('body').append(response);

答案 1 :(得分:2)

为什么要使用iframe呢?把它全部放在另一个容器里。除了可以从src属性加载页面之外,我无法想到iframe的任何优势。

我想如果您需要iframe用于其他目的,比如您在页面中加载但是想要用ajax响应替换它,则可以使用jQuery替换div的iframe并根据需要再次返回。

另一种可能性是,不是ajax,而是修改你的ajax php脚本,在iframe中输出你想要的整个页面。然后使用jQuery通过新参数更改iframe中请求页面的地址,以显示更新的内容。

答案 2 :(得分:0)

接受的答案对我不起作用,但是以下解决方案有效:

$('<iframe>', {
    id: 'someId',
    // other options like
    frameborder: 0,
    scrolling: 'no'
}).appendTo('#someDiv').on('load', function () {
    $(this).contents().find('body').append(response);
});