从iframe中选择iframe的直接父元素

Ife*_*kwo 2 javascript iframe jquery

我有以下标记:

<html>
    <body>
        <div class="aaa"></div>
        <div class="aaa"></div>
        <div class="aaa">
            <iframe>
                <form id="myform">

                </form>
            </iframe>
        </div>
        <div class="aaa"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

加载时iframe,它包含'#myform'形式.提交表单后,我需要根据该表单div.aaa的直接父进程运行某个回调iframe.

基于的任何解决方案parent.document都无法帮助我,因为我不知道的ID div.aaa.

我想做的事情是$('#myform').closest('div.aaa'),但是,当然,这会失败,因为iframe窗口之外的任何元素都无法以这种方式访问​​.

我怎样才能最好地访问这个iframe的直接父级div,它实际上是它父文档中的一个元素?

无论parentiframe相同的起源.

cha*_*tfl 5

您可以跳转到父窗口并通过将框架元素contentWindow与iframe内的已知窗口相匹配来查找父文档中的特定iframe

就像是:

$(window.parent.document).find('iframe').filter(function() {
  return this.contentWindow === window;
}).parent().doSomething()
Run Code Online (Sandbox Code Playgroud)

DEMO