【发布时间】:2010-10-18 03:06:09
【问题描述】:
我有一个 iframe,为了访问父元素,我实现了以下代码:
window.parent.document.getElementById('parentPrice').innerHTML
如何使用 jquery 获得相同的结果?
更新:或者如何使用 jquery 访问 iFrame 父页面?
【问题讨论】:
标签: javascript jquery iframe
我有一个 iframe,为了访问父元素,我实现了以下代码:
window.parent.document.getElementById('parentPrice').innerHTML
如何使用 jquery 获得相同的结果?
更新:或者如何使用 jquery 访问 iFrame 父页面?
【问题讨论】:
标签: javascript jquery iframe
在父窗口中放置:
<script>
function ifDoneChildFrame(val)
{
$('#parentPrice').html(val);
}
</script>
并在 iframe src 文件中放置:
<script>window.parent.ifDoneChildFrame('Your value here');</script>
【讨论】:
有多种方法可以做到这些。
I) 直接获取主父节点。
例如。然后我想将我的子页面替换为 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")
【讨论】:
您可以使用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");
【讨论】:
如果您需要在父文档中查找 jQuery 实例(例如,调用插件提供的实用函数),请使用以下语法之一:
window.parent.$window.parent.jQuery例子:
window.parent.$.modal.close();
jQuery 被附加到 window 对象上,这就是 window.parent 的含义。
【讨论】:
在这里玩游戏可能有点晚了,但我刚刚发现了这个很棒的 jQuery 插件https://github.com/mkdynamic/jquery-popupwindow。它基本上使用了一个 onUnload 回调事件,因此它基本上会监听子窗口的关闭,并在那时执行任何必要的操作。所以真的不需要在子窗口中写任何JS传回给父窗口。
【讨论】:
它对我来说很有效。 在我的情况下,我必须将值从 POPUP JS 填充到 PARENT WINDOW 表单。
所以我用了$('#ee_id',window.opener.document).val(eeID);
太棒了!!!
【讨论】:
是的,它也对我有用。
注意:我们需要使用 window.parent.document
$("button", window.parent.document).click(function()
{
alert("Functionality defined by def");
});
【讨论】:
如何使用 jquery 访问 iFrame 父页面
window.parent.document.
jQuery 是一个基于 JavaScript 的库,而不是它的完全替代品。您不必将每一个 JavaScript 表达式都替换为涉及 $ 的内容。
【讨论】:
要在 iFrame 的父级中查找,请使用:
$('#parentPrice', window.parent.document).html();
$() 包装器的第二个参数是搜索的上下文。这默认为文档。
【讨论】: