我有一个iframe,以访问父元素我实现下面的代码:如何使用jquery访问iFrame父页面?
window.parent.document.getElementById('parentPrice').innerHTML
如何使用jQuery得到同样的结果?
更新:或者如何访问使用jQuery的iFrame父页面?
我有一个iframe,以访问父元素我实现下面的代码:如何使用jquery访问iFrame父页面?
window.parent.document.getElementById('parentPrice').innerHTML
如何使用jQuery得到同样的结果?
更新:或者如何访问使用jQuery的iFrame父页面?
要找到iFrame中使用的父:
$('#parentPrice', window.parent.document).html();
为$()包装的第二个参数是要搜索的内容。这默认为文档。
好大我能帮上忙。 – 2009-04-07 17:51:53
很好的答案,节省了我的时间,谢谢:) – 2009-04-07 17:52:54
酷 - 你在感谢你之前表示感谢。 StackOverflow可能存在时区问题? – belugabob 2010-03-19 08:49:03
如何使用jQuery
window.parent.document访问iFrame的父页面。
jQuery是一个位于JavaScript之上的库,不是完全替代它。你不必用涉及$的东西来替换每一个JavaScript表达式。
+1。 jQuery很棒,但很多简单问题的答案似乎都是'使用jQuery'。如果你正在加载图书馆,很好,但不要加载它一项任务。此外,人们似乎对JS perf有所担忧,然后在JS之上使用API来在没有API的情况下轻松地完成任务(并且可能更快)。 – 2009-04-07 18:26:15
@Grant尽管我梦想jQuery成为浏览器内部的本地代码。 – 2011-04-29 04:07:55
@Blowski:那是我的噩梦!jQuery包含很多非常复杂和脆弱的“执行我的意思”代码,这些代码完全不适合放入官方API。 – bobince 2011-04-29 21:07:27
在父窗口放:
<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");
});
它的工作对我来说几乎没有扭转。 在我的情况下,我必须从POPUP JS到PARENT WINDOW窗体填充值。
所以我用$('#ee_id',window.opener.document).val(eeID);
优秀!
在这里可能会有点晚,但我刚刚发现了这个奇妙的jQuery插件https://github.com/mkdynamic/jquery-popupwindow。它基本上使用一个onUnload回调事件,所以它基本上监听关闭子窗口,并在那个时候执行任何必要的事情。因此,真的不需要在子窗口中写入任何JS来传递回父项。
如果你需要找到父文档中的jQuery实例(例如,调用由插件提供的效用函数)使用这些语法之一:
window.parent.$
window.parent.jQuery
实施例:
window.parent.$.modal.close();
jQuery被附加到window
对象,这就是window.parent
。
我正在使用我的iframe像用户控件。这让我保持干净利落。 – 2015-12-26 17:30:02
您可以通过使用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");
这一个为我工作。谢谢 – 2016-07-01 10:32:42
有多种方法可以做到这些。
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")
参见http://stackoverflow.com/questions/12114243/retrieving-a-documents-parent-iframe-in-jquery/36445098#36445098 – 2016-04-06 08:09:13