jQuery在父窗口中select元素

有没有办法使用jQuery在父窗口中select一个DIV?

例如:

首页包含这个,

<div id="testdiv"></div> 

popup页面有一个表单,有一些选项和一个“应用”button。 当用户点击应用时,会影响主页面上的样式属性。

一些沿着逻辑的东西,

 parent.$("#testdiv").attr("style", content from form); 

    使用上下文参数

     $("#testdiv",parent.document) 

    但是如果你真的使用popup窗口,你需要访问opener而不是窗口

     $("#testdiv",opener.document) 

    我寻找这个问题的解决scheme,并遇到了本页面。 我实现了上面的解决scheme:

     $("#testdiv",opener.document) //doesn't work 

    但它不起作用。 也许它在以前的jQuery版本中工作,但现在似乎不工作。

    我发现这个工作解决scheme在另一个stackoverflow页面: 如何使用jquery访问父窗口对象?

    从中我得到了这个工作解决scheme:

     window.opener.$("#testdiv") //This works. 

    你也可以使用,

    parent.jQuery("#testdiv").attr("style", content from form);

    我遇到了同样的问题,但如上所述,接受的解决scheme并不适合我。

    如果您在框架或iframe元素内,则可以使用其他解决scheme

     window.parent.$('#testdiv'); 

    以下是window.opener,window.parent和window.top之间区别的简要说明:

    • window.opener引用调用window.open(…)的窗口来打开调用它的窗口
    • window.parent是指框架或iframe元素中窗口的父级

    为什么不能既确定?

     if(opener.document){ $("#testdiv",opener.document).doStuff(); }else{ $("#testdiv",window.opener).doStuff(); }