Является ли связь между <iframe> а это документ в одну сторону?

Вы можете получить узлыdocument объект<iframe> сcontentDocument собственностьHTMLIFrameElement

Но я не могу найти способ получить<iframe> выйти из узла.
Является ли связь между<iframe> а это у документа только один путь?
Если это так,WHY?

Нерабочий ДЕМО:

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"
 FlavorScape28 июн. 2012 г., 19:18
Вы должны быть в состоянии получить div. почему ты так ищешь? почему бы просто не получить это напрямую?
 Kevin B28 июн. 2012 г., 19:25
С помощьюconsole.log($(div).parents()) хороший способ представить это.
 Kevin B28 июн. 2012 г., 19:21
Я не думаю, что в документе есть какая-либо информация о том, что в нем содержится. Вам нужно было бы перейти к окну для той информации, которая не обрабатывается jQuery. Документ внутри iframe представляет собой полностью отдельный DOM, вы не можете перемещаться от одного к другому, используя только jQuery.
 Kevin B28 июн. 2012 г., 19:22
На самом деле, да, вы можете переходить от одного к другому, но для этого нужны такие методы, как .contents (), который является односторонним.

Ответы на вопрос(2)

вещь для(div) вconsole.log линии, они являются частью кадра, они не знают, что находятся в кадре, так.closest('iframe') будет пустым.

 28 июн. 2012 г., 19:24
По сути, div не является частью документа, в котором содержится iframe.
Решение Вопроса

iframe элемент находится в разныхdocument (это элемент на главной странице), чемdiv элемент (это элемент на странице iframe).

Вы можете получитьiframe элемент как это:

iframe.contentWindow.frameElement === iframe

Или когда внутриiframe среда сценария:

window.frameElement

Или используяdiv

div.ownerDocument.defaultView.frameElement === iframe

Обновленная демоверсия

 28 июн. 2012 г., 19:31
+1, когда я встал с постели этим утром, я не знал, как получить родителяdocument или жеwindow объект из элемента; сейчас делаю.

Ваш ответ на вопрос