我有一个iframe,为了访问父元素,我实现了以下代码:

window.parent.document.getElementById('parentPrice').innerHTML

如何使用jquery得到相同的结果? 更新:或者如何使用jquery访问iFrame父页?


当前回答

有多种方法可以做到这一点。

I)直接获取母公司。

穰。我想把我的子页面换成iframe

var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);

在这里。位置直接得到父节点。

II)让父母一个接一个,

var element = $('.iframe:visible', window.parent.document);

如果您有多个iframe,请指定活动的或可见的iframe。

你也可以这样做来获得更多的父母,

var masterParent = element.parent().parent().parent()

III)通过标识符获取父节点。

var myWindow = window.top.$("#Identifier")

其他回答

如果你需要在父文档中找到jQuery实例(例如,调用插件提供的实用函数),请使用以下语法之一:

美元window.parent。 window.parent.jQuery

例子:

window.parent.$.modal.close();

jQuery附加到窗口对象,这就是window。父母。

有多种方法可以做到这一点。

I)直接获取母公司。

穰。我想把我的子页面换成iframe

var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);

在这里。位置直接得到父节点。

II)让父母一个接一个,

var element = $('.iframe:visible', window.parent.document);

如果您有多个iframe,请指定活动的或可见的iframe。

你也可以这样做来获得更多的父母,

var masterParent = element.parent().parent().parent()

III)通过标识符获取父节点。

var myWindow = window.top.$("#Identifier")

要在iFrame的父类中查找,使用:

$('#parentPrice', window.parent.document).html();

$()包装器的第二个参数是要搜索的上下文。默认为document。

你可以使用window从iframe中访问父窗口的元素。父母是这样的:

// using jquery    
window.parent.$("#element_id");

也就是:

// pure javascript
window.parent.document.getElementById("element_id");

如果你有多个嵌套iframe并且你想要访问最上面的iframe,那么你可以使用window。上面像这样:

// using jquery
window.top.$("#element_id");

也就是:

// pure javascript
window.top.document.getElementById("element_id");

如何使用jquery访问iFrame父页面

window.parent.document。

jQuery是JavaScript之上的库,而不是JavaScript的完全替代品。您不必将每一个JavaScript表达式都替换为包含$的表达式。