【问题标题】:Update parent from iframe using jquery使用 jquery 从 iframe 更新父级
【发布时间】:2013-09-14 05:28:14
【问题描述】:

我有这个最小的测试用例

a.html

<!DOCTYPE html>
<html>
<body>
    <input type="text" id="myinput">
     <iframe id="frame" src="b.html" style="width:100%;height:100%" frameBorder="0"></iframe>
     </body>
</html>

b.html

<!DOCTYPE html>
<html>

<body>
    <script>
        function update_parent(value) {
            window.parent.document.getElementById('myinput').value=value;
        }
    </script>
    <a class="tag" name="something" href="javascript:void(0)" onclick="update_parent(something)"/>Bla Bla</a>
    </body>

</html>

这里的目的是在 iframe 上单击按钮时更新父窗口中的输入框。正如您在上面看到的,我尝试使用纯 javascript 来做到这一点,但它也不起作用。如果可能的话,我想使用 jquery 来做到这一点。

【问题讨论】:

  • 对我有好处:jsfiddle.net/HVBZD
  • jQuery 不是 javascript 的完全替代品。你不需要为此更换所有东西。

标签: javascript jquery html iframe


【解决方案1】:
function update_parent(value) {
    $('#myinput', window.parent.document).val(value);
}

$() 包装器的第二个参数是搜索的上下文。这默认为文档,因此传递父级会将父级设置为搜索上下文。

【讨论】:

    【解决方案2】:

    你的父元素是 window.self.top 您可以访问父元素的内容或文档。

    话虽如此,您的代码应该如下所示:

    $(window.self.top.document).find('#myinput');
    

    这将为您提供父元素中的元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 2013-06-22
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      相关资源
      最近更新 更多