我有一个iframe,为了访问父元素我实现了以下代码:
window.parent.document.getElementById('parentPrice').innerHTML
如何使用jquery获得相同的结果?UPDATE :或者如何使用jquery访问iFrame父页面?
如果需要在父文档中找到jQuery实例(例如,调用插件提供的实用程序函数),请使用以下语法之一:
window.parent.$
window.parent.jQuery
例:
window.parent.$.modal.close();
jQuery被附加到 window 对象,这就是 window.parent .
window
window.parent
这对我来说很有意义 . 在我的情况下,我必须将值从POPUP JS填充到PARENT WINDOW表单 .
所以我用 $('#ee_id',window.opener.document).val(eeID);
$('#ee_id',window.opener.document).val(eeID);
优秀!!!
有多种方法可以做到这些 .
I)直接获得主要父母 .
为了exa . 我想将我的子页面替换为iframe
var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>'; top.location.replace(link);
这里 top.location 直接得到父母 .
II)逐一获得父母,
var element = $('.iframe:visible', window.parent.document);
这里如果你有一个以上的iframe,那么指定有效或可见的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插件https://github.com/mkdynamic/jquery-popupwindow . 它基本上使用onUnload回调事件,因此它基本上监听子窗口的关闭,并在那时执行任何必要的东西 . 因此,实际上没有必要在子窗口中编写任何JS以传递回父级 .
在父窗口放:
<script> function ifDoneChildFrame(val) { $('#parentPrice').html(val); } </script>
并在iframe src文件中放:
<script>window.parent.ifDoneChildFrame('Your value here');</script>
是的它对我也有用 .
注意:我们需要使用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();
$()包装器的第二个参数是要搜索的上下文 . 这默认为文档 .
9 回答
如果需要在父文档中找到jQuery实例(例如,调用插件提供的实用程序函数),请使用以下语法之一:
window.parent.$
window.parent.jQuery
例:
jQuery被附加到
window
对象,这就是window.parent
.这对我来说很有意义 . 在我的情况下,我必须将值从POPUP JS填充到PARENT WINDOW表单 .
所以我用
$('#ee_id',window.opener.document).val(eeID);
优秀!!!
有多种方法可以做到这些 .
I)直接获得主要父母 .
为了exa . 我想将我的子页面替换为iframe
这里 top.location 直接得到父母 .
II)逐一获得父母,
这里如果你有一个以上的iframe,那么指定有效或可见的iframe .
你也可以这样做以获得更多的父母,
III)通过标识符获取父级 .
您可以使用window.parent从iframe中访问父窗口的元素,如下所示:
这与:
如果您有多个嵌套的iframe并且想要访问最顶层的iframe,那么您可以像这样使用window.top:
这与:
这里的游戏可能有点晚了,但我刚刚发现了这个梦幻般的jQuery插件https://github.com/mkdynamic/jquery-popupwindow . 它基本上使用onUnload回调事件,因此它基本上监听子窗口的关闭,并在那时执行任何必要的东西 . 因此,实际上没有必要在子窗口中编写任何JS以传递回父级 .
在父窗口放:
并在iframe src文件中放:
是的它对我也有用 .
注意:我们需要使用window.parent.document
window.parent.document .
jQuery是一个基于JavaScript的库,而不是它的完全替代品 . 您不必使用涉及$的内容替换每个最后的JavaScript表达式 .
要在iFrame的父级中查找,请使用:
$()包装器的第二个参数是要搜索的上下文 . 这默认为文档 .