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

Как получить доступ к объекту родительского окна, используя jquery?

Это моя переменная родительского окна, я хочу установить ее значение после закрытия дочернего окна.

$('#serverMsg').html('some text here');

4 ответа

Решение
window.opener.$("#serverMsg")

Если вы находитесь в всплывающем окне и хотите открыть открывающееся окно, используйте window.opener, Проще всего было бы, если бы вы могли также загрузить JQuery в родительское окно:

window.opener.$("#serverMsg").html // это использует JQuery в родительском окне

или вы могли бы использовать старый добрый document.getElementById чтобы получить элемент, а затем расширить его с помощью jquery в вашем дочернем окне. Следующее должно работать (я не проверял это, хотя):

element = window.opener.document.getElementById("serverMsg");
element = $(element);

Если вы находитесь в iframe или frameset и хотите получить доступ к родительскому фрейму, используйте window.parent вместо window.opener,

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

Или вы можете использовать другой подход:

$( "#serverMsg", window.opener.document )

Вот более буквальный ответ (родительское окно в противоположность открывателю) на исходный вопрос, который можно использовать в iframe, предполагая, что доменное имя в iframe совпадает с именем родительского окна:

window.parent.$("#serverMsg")
Другие вопросы по тегам