Ticket #8096 (closed bug: fixed)
$( html, ownerDocument ) causes "createDocumentFragment is not a function" error
| Reported by: | scribu | Owned by: | scribu |
|---|---|---|---|
| Priority: | low | Milestone: | 1.5 |
| Component: | core | Version: | 1.4.4 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
I am trying to create an element inside an iframe, like so:
var $iframe = $('iframe').contents(),
$el = $('<div>', $iframe);
The second line causes an error in Firefox 3.6 and Chromium:
b.createDocumentFragment is not a function
jquery.min.js (line 120)
I have also tried $('<div>', $iframe.get()) and got the same result.
For some reason, the iframe Document object does not have that function.
Change History
comment:2 Changed 2 years ago by scribu
Found out that this works:
var $iframe = $('iframe').contents(),
$el = $('<div>', $iframe.get()[0]);
Maybe providing an example in the documentation would help others that are stumbling into this.
comment:3 Changed 2 years ago by jitter
- Owner set to scribu
- Status changed from new to pending
Thanks for taking the time to contribute to the jQuery project by writing a bug report.
Please submit a reduced test case, which reproduces the issue you are experiencing, on http://jsfiddle.net. So that we can investigate this issue further.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

I should note that the iframe is from the same domain.
I can call $iframe.find('body').prepend('foo'); just fine.