【发布时间】:2014-07-18 17:24:20
【问题描述】:
我有这个 html 页面:
<div> this is the outside page </div>
<iframe id="ifr">
(#document node)
<html>
<p> a node within iframe </p>
</html>
</iframe>
在外部页面加载js。如何通过在 iframe 中使用 <p> 元素来选择 <iframe> 对象?
大多数网络资源都致力于“从inside iframe 中选择父元素”(使用window.parent)。他们的 js 在 iframe 中加载。同样,我在外面运行脚本。
我已经成功获得#document 节点 -
$(clicked_object).parents('html').parent()
clicked_object 表示我点击了 iframe 内的<p> 标签。
这给出了 iframe 页面的#document 节点,没有任何问题。
但是如果我写
$(clicked_object).parents('html').parent().parent()
它给出[]。
其他文献教导如何从父页面中通过 id(例如$('iframe#ifr'))选择<iframe> 元素。但通过这种方式,我无法获得内嵌元素的 parent 。
因此,一种可能的方法是向<p> 元素添加onclick 属性,调用父侦听器函数,并将某些内容(如#document 节点)作为参数传递;然后查看与特定#document 匹配的所有<iframe> 元素。
【问题讨论】:
-
尝试窗口。 - 对于 iframe 内容,window 是 iframe,parent 是主页面的窗口
-
@mplungjan 我在外部页面运行 js,所以
window给出了主页的窗口。 -
嘿伊冯,我正在尝试做同样的事情。如果你能解决这个问题,你能提供答案吗
-
@Ashfaqnisar 稍后再回复您。这篇文章是很多年前的事了,我不记得当时发生了什么。似乎我没有找到任何解决方案。但过去几年情况可能发生了变化。
-
哦,知道了@Yvon,那太好了
标签: javascript jquery html iframe