2014-12-05 97 views
0

我的设置,我有无法控制之内的工作:Javascript/jQuery - 如何从多个iframe中获取父元素?

父 - > Iframe-> Iframe->我的文档

如何访问是在父从我的文档中的一个元素?

这些都在同一个域上,所以没有跨域问题。我可以直接使用JS或jQuery来做到这一点。

我一直在四处搜寻,但还没有找到任何有人试图通过多个iframe从底部访问顶部元素的任何示例!

的解决方案,如果任何人遇到这样的:

var p = $("#Viewport",window.top.document); 
alert(p.attr('name')); 
+0

如果只有一个iframe,您将如何访问包含在父级中的元素? – Kolban 2014-12-05 00:42:42

回答

0

我相信你将能够通过window.parent访问此,作为这样的:

window.parent.document.getElementById('target-element'); 
+0

我收到一个空错误。示例代码: 视口在父: '<元ID = “视口” 名称= “视口”>' 以我的iframe '变种P = window.parent.document.getElementById( '视口');' 'alert(p.getAttribute(“name”));' – 2014-12-05 01:00:33

0

只需使用window.top,如:

console.log(top.document.getElementById('someInputId').value); 

请注意window in impl icit,所以你可以离开它。当然,您必须将'someInputId'更改为首页上的输入ID,以查看这是否有效。如果您针对不是输入的元素进行测试,请使用.innerHTML而不是.value

+0

错误:top.getElementById不是函数。 – 2014-12-05 17:24:13

+0

我忽略了'top'窗口的'document'属性。固定。 – PHPglue 2014-12-06 00:05:08