有没有办法使用jQuery在父窗口中选择DIV?
例如:
主页包含此内容,
<div id="testdiv"></div>
弹出页面有一个包含一些选项和“应用”按钮的表单。当用户单击“应用”时,它会影响主页面上的样式属性。
符合逻辑的东西,
parent.$("#testdiv").attr("style", content from form);
答案 0 :(得分:103)
使用context-parameter
$("#testdiv",parent.document)
但如果你真的使用弹出式窗口,则需要访问开启者而不是父级
$("#testdiv",opener.document)
答案 1 :(得分:20)
我找到了解决此问题的方法,并且遇到了本页面。我实施了上述解决方案:
$("#testdiv",opener.document) //doesn't work
但它不起作用。也许它在以前的jQuery版本中确实有效,但它现在似乎没有用。
我在另一个stackoverflow页面上找到了这个工作解决方案: how to access parent window object using jquery?
我从中得到了这个有效的解决方案:
window.opener.$("#testdiv") //This works.
答案 2 :(得分:2)
您也可以使用,
parent.jQuery("#testdiv").attr("style", content from form);
答案 3 :(得分:2)
我遇到了同样的问题但是,如上所述,接受的解决方案对我不起作用。
如果您在框架或iframe元素中,则可以使用替代解决方案
window.parent.$('#testdiv');
Here's a quick explanation of the differences between window.opener, window.parent and window.top:
答案 4 :(得分:0)
为什么两个都不确定?
if(opener.document){
$("#testdiv",opener.document).doStuff();
}else{
$("#testdiv",window.opener).doStuff();
}