【发布时间】:2010-01-30 09:50:56
【问题描述】:
如何使用 jquery 访问父窗口对象?
这是我的父窗口变量,我想在关闭子窗口后设置它的值。
$('#serverMsg').html('some text here');
【问题讨论】:
标签: javascript jquery
如何使用 jquery 访问父窗口对象?
这是我的父窗口变量,我想在关闭子窗口后设置它的值。
$('#serverMsg').html('some text here');
【问题讨论】:
标签: javascript jquery
window.opener.$("#serverMsg")
【讨论】:
如果您在弹出窗口中并且想要访问打开窗口,请使用window.opener。
如果您也可以在父窗口中加载 JQuery,那么最简单的方法是:
window.opener.$("#serverMsg").html // 这在父窗口中使用 JQuery
或者您可以使用普通的旧document.getElementById 来获取元素,然后在您的子窗口中使用jquery 扩展它。以下应该可以工作(不过我还没有测试过):
element = window.opener.document.getElementById("serverMsg");
element = $(element);
如果您在 iframe 或框架集中并想要访问父框架,请使用 window.parent 而不是 window.opener。
根据同源策略,只有当子窗口和父窗口都在同一个域中时,所有这些都可以毫不费力地工作。
【讨论】:
或者您可以使用其他方法:
$( "#serverMsg", window.opener.document )
【讨论】:
假设 iframe 中的域名与父窗口的域名匹配,以下是可以在 iframe 中使用的原始问题的更字面答案(父窗口而不是 opener):
window.parent.$("#serverMsg")
【讨论】: