如何使用jquery访问父窗口对象?

时间:2010-01-30 09:50:57

标签: javascript jquery

如何使用jquery访问父窗口对象?

这是我的父窗口变量,我想在关闭子窗口后设置它的值。

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

4 个答案:

答案 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")