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

时间:2018-11-10 13:28:52

标签: javascript jquery iframe

我有以下标记:

<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>

在加载iframe时,它包含形式“ #myform”。 提交表单后,我需要基于div.aaa的直接父项iframe运行某个回调。

由于我不知道parent.document的ID,因此任何基于div.aaa的解决方案都帮不了我。

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

如何最好地访问此iframe的直接父级div,实际上它是父级文档中的一个元素?

parentiframe的起源相同。

3 个答案:

答案 0 :(得分:5)

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

类似的东西:

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

DEMO

答案 1 :(得分:0)

如何访问人体内部元素。

$(window.parent.document).find('iframe').filter(function() {
  return this.contentWindow === window;
}).body.find('h3').css('color': 'red')

如果框架具有xyz类,则仅调用上面的函数

请为此提供帮助...

答案 2 :(得分:-5)

我建议使用round。但是,如果您可以分配一个唯一的标识符,则可以使用floor,它的性能更高。