我有一个iframe,为了访问父元素我实现了以下代码:
window.parent.document.getElementById('parentPrice').innerHTML
如何使用jquery获得相同的结果?
更新:或者如何使用jquery访问iFrame父页?
答案 0 :(得分:476)
要在iFrame的父级中查找,请使用:
$('#parentPrice', window.parent.document).html();
$()包装器的第二个参数是要搜索的上下文。这默认为文档。
答案 1 :(得分:38)
如何使用jquery
访问iFrame父页面
window.parent.document。
jQuery是一个基于JavaScript的库,而不是它的完全替代品。您不必使用涉及$。
的内容替换每个最后的JavaScript表达式答案 2 :(得分:11)
如果您需要在父文档中找到jQuery实例(例如,调用插件提供的实用程序函数),请使用以下语法之一:
window.parent.$
window.parent.jQuery
示例:
window.parent.$.modal.close();
jQuery附加到window
对象,这就是window.parent
。
答案 3 :(得分:7)
:
<script>
function ifDoneChildFrame(val)
{
$('#parentPrice').html(val);
}
</script>
并在iframe src文件中输入:
<script>window.parent.ifDoneChildFrame('Your value here');</script>
答案 4 :(得分: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");
答案 5 :(得分:5)
这对我来说很有意义。 在我的情况下,我必须将值从POPUP JS填充到PARENT WINDOW表单。
所以我使用了$('#ee_id',window.opener.document).val(eeID);
出色!!!
答案 6 :(得分:4)
注意:我们需要使用window.parent.document
$("button", window.parent.document).click(function()
{
alert("Functionality defined by def");
});
答案 7 :(得分:3)
这里的游戏可能有点晚了,但我刚刚发现了这个梦幻般的jQuery插件https://github.com/mkdynamic/jquery-popupwindow。它基本上使用onUnload回调事件,因此它基本上监听子窗口的关闭,并在那时执行任何必要的东西。因此,实际上没有必要在子窗口中编写任何JS以传回父级。
答案 8 :(得分:1)
有多种方法可以做到这些。
I)直接获得主要父母。
表示exa。我想将我的子页面替换为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")