如何访问使用jQuery的iFrame父页面?

我有一个iframe,为了访问父元素,我实现了以下代码:

window.parent.document.getElementById('parentPrice').innerHTML 

如何使用jQuery获得相同的结果?
更新 :或者如何访问使用jQuery的iFrame父页面?

要在iFrame的父级使用:

 $('#parentPrice', window.parent.document).html(); 

$()包装器的第二个参数是要在其中search的上下文。 这默认为文档。

如何访问使用jQuery的iFrame父页面

window.parent.document。

jQuery是JavaScript之上的一个库,并不是完全替代它。 你不必用涉及$的东西来replace每一个JavaScriptexpression式。

如果您需要在父文档中查找jQuery实例(例如,调用由插件提供的实用程序函数),请使用以下语法之一:

  • window.parent.$
  • window.parent.jQuery

例:

 window.parent.$.modal.close(); 

jQuery被附加到window对象,这就是window.parent

在父窗口放:

 <script> function ifDoneChildFrame(val) { $('#parentPrice').html(val); } </script> 

并在iframe src文件中放入:

 <script>window.parent.ifDoneChildFrame('Your value here');</script> 

它为我工作,有点扭曲。 在我的情况下,我必须从POPUP JS到PARENT WINDOW窗体填充值。

所以我用$('#ee_id',window.opener.document).val(eeID);

优秀!!!

是的,它也适用于我。

注意:我们需要使用window.parent.document

  $("button", window.parent.document).click(function() { alert("Functionality defined by def"); }); 

在这里可能会有点晚,但我刚刚发现这个奇妙的jQuery插件https://github.com/mkdynamic/jquery-popupwindow 。 它基本上使用一个onUnloadcallback事件,所以它基本上监听closures的子窗口,并将执行任何必要的东西在这一点上。 所以真的不需要在子窗口中写任何JS来回传给父项。

你可以像这样使用window.parent从iframe中访问父窗口的元素:

 // using jquery window.parent.$("#element_id"); 

这是一样的:

 // pure javascript window.parent.document.getElementById("element_id"); 

如果你有多个嵌套的iframe,你想访问最顶级的iframe,那么你可以使用window.top像这样:

 // using jquery window.top.$("#element_id"); 

这是一样的:

 // pure javascript window.top.document.getElementById("element_id"); 

有多种方法可以做到这一点。

我)直接获得主要的父母。

为例。 然后,我想将我的子页面replace为iframe

 var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>'; top.location.replace(link); 

这里的top.location直接获取父项。

二)一个一个得到父母,

 var element = $('.iframe:visible', window.parent.document); 

这里如果你有多个iframe,那么指定活动的或可见的。

你也可以这样做,以获得更多的父母,

 var masterParent = element.parent().parent().parent() 

三)通过标识符获得父母。

 var myWindow = window.top.$("#Identifier")