首页 文章

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

提问于
浏览
243

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

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

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

9 回答

  • 5

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

    • window.parent.$

    • window.parent.jQuery

    例:

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

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

  • 9

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

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

    优秀!!!

  • 38

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

    I)直接获得主要父母 .

    为了exa . 我想将我的子页面替换为iframe

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

    这里 top.location 直接得到父母 .

    II)逐一获得父母,

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

    这里如果你有一个以上的iframe,那么指定有效或可见的iframe .

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

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

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

    var myWindow = window.top.$("#Identifier")
    
  • 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");
    
  • 458

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

  • 6

    在父窗口放:

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

    并在iframe src文件中放:

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

    是的它对我也有用 .

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

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

    如何使用jquery访问iFrame父页面

    window.parent.document .

    jQuery是一个基于JavaScript的库,而不是它的完全替代品 . 您不必使用涉及$的内容替换每个最后的JavaScript表达式 .

  • 1

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

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

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

相关问题