如何使用jquery访问父窗口对象?
这是我的父窗口变量,我想在关闭子窗口后设置它的值。
$('#serverMsg').html('some text here');
答案 0 :(得分:74)
window.opener.$("#serverMsg")
答案 1 :(得分:16)
如果您处于成人状态,并且想要访问打开窗口,请使用window.opener
。
最简单的方法是,如果你也可以在父窗口中加载JQuery:
window.opener.$("#serverMsg").html
//这在父窗口中使用JQuery
或者您可以使用普通的旧document.getElementById
来获取元素,然后使用子窗口中的jquery对其进行扩展。以下应该工作(我还没有测试过):
element = window.opener.document.getElementById("serverMsg");
element = $(element);
如果您在iframe或框架集中并想要访问父框架,请使用window.parent
代替window.opener
。
根据同源策略,只有当子窗口和父窗口位于同一域时,所有这些都可以毫不费力地工作。
答案 2 :(得分:8)
或者您可以使用其他方法:
$( "#serverMsg", window.opener.document )
答案 3 :(得分:0)
假设iframe中的域名与父窗口中的域名匹配,这是一个可以在iframe中使用的原始问题的更直接的答案(父窗口而不是开启者):
window.parent.$("#serverMsg")