Is the relation between <iframe> and it's document one way?
dom, dom-traversal, iframe, javascript, jquery
Solution
The `iframe` element is in different `document` (it's an element in the main page) than the `div` element (it's an element in the iframe page).
You can get the `iframe` element like this:
`iframe.contentWindow.frameElement === iframe`
Or when inside the `iframe` script environment:
`window.frameElement`
Or using the `div`
`div.ownerDocument.defaultView.frameElement === iframe`
Updated demo
Problem
You can get the nodes of the `document` object of an `<iframe>` with the `contentDocument` property of the `HTMLIFrameElement` But I can't find a way getting the `<iframe>` back out of the node. Is the relation between the `<iframe>` and it's document is only one way? If it does, WHY? A non working DEMO: ``` var iframe = document.getElementById('iframe'); var doc = iframe.contentDocument || iframe.contentWindow.document; var div = doc.getElementsByTagName('div')[0]; console.log('Did we find the iframe? ' + ($(div).closest('iframe').length > 0)); // Output: "Did we find the iframe? false" ```