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(); }