Is it possible using jQuery to create an element and append html content to it without having
src
attribute specified?
The p
Why use an iframe then? Stick it all in another container. I can't think of any advantage of the iframe except that you can load a page from a src attribute.
I suppose if you need an iframe for some other purpose, like you load in a page but you want to replace it with the ajax response, you could use jQuery to swap out the iframe for a div and back again as needed.
The other possibility is that instead of ajax, modify your ajax php script to output the full page that you want in the iframe. Then use jQuery to change up the address of the requested page in the iframe with new parameters to display updated content.
Accepted answer doesn't work for me, but following solution works:
$('<iframe>', {
id: 'someId',
// other options like
frameborder: 0,
scrolling: 'no'
}).appendTo('#someDiv').on('load', function () {
$(this).contents().find('body').append(response);
});
Try this:
$('<iframe id="someId"/>').appendTo('#someDiv')
.contents().find('body').append(response);