Как получить доступ к родительской странице iFrame с помощью jquery?

У меня есть iframe и для доступа к родительскому элементу я выполнил следующий код:

window.parent.document.getElementById('parentPrice').innerHTML

Как получить тот же результат с помощью jquery?
UPDATE. Или как получить доступ к родительской странице iFrame с помощью jquery?

Ответ 1

Чтобы найти в родительском устройстве iFrame:

$('#parentPrice', window.parent.document).html();

Второй параметр для оболочки $() - это контекст для поиска. Это значение по умолчанию для документа.

Ответ 2

как получить доступ к родительской странице iFrame с помощью jquery

window.parent.document.

jQuery - это библиотека поверх JavaScript, а не полная замена для нее. Вам не нужно заменять каждое последнее выражение JavaScript чем-то, связанным с $.

Ответ 3

Если вам нужно найти экземпляр jQuery в родительском документе (например, вызвать функцию утилиты, предоставляемую подключаемым модулем), используйте один из этих синтаксисов:

  • window.parent.$
  • window.parent.jQuery

Пример:

window.parent.$.modal.close();

jQuery присоединяется к объекту window и что window.parent есть.

Ответ 4

в родительском окне put:

<script>
function ifDoneChildFrame(val)
{
   $('#parentPrice').html(val);
}
</script>

и в файле iframe src put:

<script>window.parent.ifDoneChildFrame('Your value here');</script>

Ответ 5

Он работает для меня с небольшим завихрением. В моем случае я должен заполнить значение из POPUP JS в форме PARENT WINDOW.

Итак, я использовал $('#ee_id',window.opener.document).val(eeID);

Отлично!!!

Ответ 6

Да, это работает и для меня.

Примечание: нам нужно использовать window.parent.document

    $("button", window.parent.document).click(function()
    {
        alert("Functionality defined by def");
    });

Ответ 7

Возможно, здесь немного поздно, но я только что открыл этот фантастический плагин jQuery https://github.com/mkdynamic/jquery-popupwindow. В основном он использует событие callback onUnload, поэтому он в основном слушает закрытие дочернего окна и будет выполнять любые необходимые вещи в этой точке. Так что нет необходимости писать JS в дочернем окне, чтобы вернуться к родительскому.

Ответ 8

Вы можете получить доступ к элементам родительского окна из iframe, используя window.parent следующим образом:

// using jquery    
window.parent.$("#element_id");

Это то же самое, что:

// pure javascript
window.parent.document.getElementById("element_id");

И если у вас несколько вложенных фреймов и вы хотите получить доступ к самому верхнему iframe, вы можете использовать window.top следующим образом:

// using jquery
window.top.$("#element_id");

Это то же самое, что:

// pure javascript
window.top.document.getElementById("element_id");

Ответ 9

Существует несколько способов сделать это.

I) Получить основного родителя напрямую.

для exa. я хочу заменить мою дочернюю страницу на iframe, затем

var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);

здесь top.location получает родитель напрямую.

II) родительский по одному,

var element = $('.iframe:visible', window.parent.document);

здесь, если у вас есть более одного iframe, затем укажите активный или видимый.

вы также можете сделать это для получения дополнительных родителей,

var masterParent = element.parent().parent().parent()

III) получить родительский идентификатор.

var myWindow = window.top.$("#Identifier")