如何使用jquery访问iFrame父页面?

时间:2009-04-07 17:35:19

标签: javascript jquery iframe

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

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

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

9 个答案:

答案 0 :(得分:476)

要在iFrame的父级中查找,请使用:

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

$()包装器的第二个参数是要搜索的上下文。这默认为文档。

答案 1 :(得分:38)

  

如何使用jquery

访问iFrame父页面

window.parent.document。

jQuery是一个基于JavaScript的库,而不是它的完全替代品。您不必使用涉及$。

的内容替换每个最后的JavaScript表达式

答案 2 :(得分:11)

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

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

示例:

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

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

答案 3 :(得分:7)

父窗口中的

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

并在iframe src文件中输入:

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

答案 4 :(得分:6)

您可以使用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");

答案 5 :(得分:5)

这对我来说很有意义。 在我的情况下,我必须将值从POPUP JS填充到PARENT WINDOW表单。

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

出色!!!

答案 6 :(得分:4)

是的,它对我也有用。

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

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

答案 7 :(得分:3)

这里的游戏可能有点晚了,但我刚刚发现了这个梦幻般的jQuery插件https://github.com/mkdynamic/jquery-popupwindow。它基本上使用onUnload回调事件,因此它基本上监听子窗口的关闭,并在那时执行任何必要的东西。因此,实际上没有必要在子窗口中编写任何JS以传回父级。

答案 8 :(得分:1)

有多种方法可以做到这些。

I)直接获得主要父母。

表示exa。我想将我的子页面替换为iframe

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

此处 top.location 直接获取父级。

II)逐一获得父母,

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

如果你有一个以上的iframe,那么请指定有效或可见的。

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

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

III)通过标识符获取父级。

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